CSS3 多媒体查询、网格布局

一、CSS3多媒体查询:

CSS3 多媒体查询继承了CSS2多媒体类型的所有思想,取代了查找设备的类型。CSS3根据设置自适应显示。

多媒体查询语法:

@media not|only mediatype and (expressions)

{

CSS 代码...;

}

not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。

only: 用来定某种特别的媒体类型。对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件。

all: 所有设备,这个应该经常看到。

CSS3多媒体类型:

二、CSS3网格布局:

网格式一组相交的水平线和垂直线,它定义了网格的列和行。CSS提供了一个基于网格的布局系统,带有行和列。

网格布局有一个父元素以及一个或多个子元素组成。

当元素将display属性设置为grid或inline-grid后,它就变成一个网格容器。这个元素的所有直系子元素将成为网格元素。示例:

<style>

.grid-container {

display: inline-grid;

grid-template-columns: auto auto auto;

background-color: #2196F3;

padding: 10px;

}

.grid-item {

background-color: rgba(255, 255, 255, 0.8);

border: 1px solid rgba(0, 0, 0, 0.8);

padding: 20px;

font-size: 30px;

text-align: center;

}

</style>

<h1>display: inline-grid</h1>

通过grid-template-columns和grid-template-rows属性来定义网格中的行和列。这些属性定义了网格的轨道。一个网格轨道就是网格中任意两条线之间的空间。示例:

<style>

.grid-container {

display: grid;

grid-template-columns: auto auto auto auto;

grid-gap: 10px;

background-color: #2196F3;

padding: 10px;

}

.grid-container > div {

background-color: rgba(255, 255, 255, 0.8);

text-align: center;

padding: 20px 0;

font-size: 30px;

}

</style>

fr单位:轨道可以使用任何长度单位来定义,fr单位用来创建网格轨道。一个fr单位代表网格容器中科用空间的一个等份。示例:

一个网格单元是在一个网格元素中最小的单位。

网格元素可以向行或者列的方向扩展单元,创建网格区域。网格区域的形状应该是一个矩形。

网格元素的垂直线方向称为列,网格元素的水平方向称为行,两个网格单元之间的网格横向或者纵向间距称为网格间距,通过grid-column-gap、grid-row-gap、grid-gap来调整间隙大小。

CSS网格属性:

|------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| 属性 | 描述 |
| ++column-gap++ | 指定列之间的间隙 |
| ++gap++ | row-gap 和 column-gap 的简写属性 |
| ++grid++ | grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns, 以及 grid-auto-flow 的简写属性 |
| ++grid-area++ | 指定网格元素的名称,或者也可以是 grid-row-start, grid-column-start, grid-row-end, 和 grid-column-end 的简写属性 |
| ++grid-auto-columns++ | 指的默认的列尺寸 |
| ++grid-auto-flow++ | 指定自动布局算法怎样运作,精确指定在网格中被自动布局的元素怎样排列。 |
| ++grid-auto-rows++ | 指的默认的行尺寸 |
| ++grid-column++ | grid-column-start 和 grid-column-end 的简写属性 |
| ++grid-column-end++ | 指定网格元素列的结束位置 |
| ++grid-column-gap++ | 指定网格元素的间距大小 |
| ++grid-column-start++ | 指定网格元素列的开始位置 |
| ++grid-gap++ | grid-row-gap 和 grid-column-gap 的简写属性 |
| ++grid-row++ | grid-row-start 和 grid-row-end 的简写属性 |
| ++grid-row-end++ | 指定网格元素行的结束位置 |
| ++grid-row-gap++ | 指定网格元素的行间距 |
| ++grid-row-start++ | 指定网格元素行的开始位置 |
| ++grid-template++ | grid-template-rows, grid-template-columns 和 grid-areas 的简写属性 |
| ++grid-template-areas++ | 指定如何显示行和列,使用命名的网格元素 |
| ++grid-template-columns++ | 指定列的大小,以及网格布局中设置列的数量 |
| ++grid-template-rows++ | 指定网格布局中行的大小 |
| ++row-gap++ | 指定两个行之间的间距erer |

相关推荐
鑫~阳1 小时前
html + css 淘宝网实战
前端·css·html
Catherinemin1 小时前
CSS|14 z-index
前端·css
2401_882727573 小时前
低代码配置式组态软件-BY组态
前端·后端·物联网·低代码·前端框架
NoneCoder3 小时前
CSS系列(36)-- Containment详解
前端·css
anyup_前端梦工厂3 小时前
初始 ShellJS:一个 Node.js 命令行工具集合
前端·javascript·node.js
5hand3 小时前
Element-ui的使用教程 基于HBuilder X
前端·javascript·vue.js·elementui
GDAL3 小时前
vue3入门教程:ref能否完全替代reactive?
前端·javascript·vue.js
六卿3 小时前
react防止页面崩溃
前端·react.js·前端框架
z千鑫4 小时前
【前端】详解前端三大主流框架:React、Vue与Angular的比较与选择
前端·vue.js·react.js
m0_748256144 小时前
前端 MYTED单篇TED词汇学习功能优化
前端·学习