CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。 只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。CSS3是CSS技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。
Grid布局应用很广泛,最简单的例子就是内容的分栏显示。
对于右边这个布局复杂的三栏网页来说,如果使用CSS3Grid布局的话,我们只需这样写:
body{columns:3;column-gap:0.5in;}
img{float:pagetopright;3gr;}
其中,body部分声明页面为3栏,栏间距为0.5英寸;img中float属性指明图片浮动位置为页面的右上角,而宽度为3个栏宽。只需这样两行CSS,就可以实现这个复杂布局。
Flexbox 由 伸缩容器 和 伸缩项目 组成。通过设置元素的 display 属性为 flex 或 inline-flex 可以得到一个伸缩容器。设置为 flex 的容器被渲染为一个块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。
Flexbox通常能让我们更好的操作他的子元素布局,例如:
-
如果元素容器没有足够的空间,我们无需计算每个元素的宽度,就可以设置他们在同一行;
-
可以快速让他们布局在一列;
-
可以方便让他们对齐容器的左、右、中间等;
-
无需修改结构就可以改变他们的显示顺序;
-
如果元素容器设置百分比和视窗大小改变,不用担心未指定元素的确切宽度而破坏布局,因为容器中的每个子元素都可以自动分配容器的宽度或高度的比例。