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 |

相关推荐
IT女孩儿1 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡2 小时前
commitlint校验git提交信息
前端
虾球xz2 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇2 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒2 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员3 小时前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐3 小时前
前端图像处理(一)
前端
程序猿阿伟3 小时前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端
疯狂的沙粒3 小时前
对 TypeScript 中函数如何更好的理解及使用?与 JavaScript 函数有哪些区别?
前端·javascript·typescript
瑞雨溪3 小时前
AJAX的基本使用
前端·javascript·ajax