CSS3布局方式有哪些?

html-css08

CSS3布局方式有哪些?,第1张

1.静态布局

——最传统的布局方式,网页中所有尺寸都是由px作为单位,设置了min-width,如果宽度小于就会出现滚动条,如果大于这个宽度则内容居中外加背景

实现方式:PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;

移动设备:另外建立移动网站,单独设计一个布局,使用不同的域名如wap.或m.。

优点:采用之前的css2的布局·方式,布局简单,没有兼容性问题。

缺点: 在手机端不能合理的显示,移动端不能使用pc端页面,需要再写一个布局来呈现。

实践案例:Float 布局、绝对布局

2.自适应布局

——可以看成是不同屏幕下由多个静态布局组成的。自适应布局是为不同的屏幕分辨率分别定义不同的布局。改变屏幕分辨率可以切换不同的静态布局(页面元素位置可能发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。自适应布局页面里面元素的位置会变化,很好的解决了流式布局中的大屏空间利用率不高弊端。

注:屏幕分辨率变化时,页面里面元素的位置会变化而大小不会变化。

3.流失布局(百分比布局 %)

网页中主要的划分区域的尺寸使用百分数(搭配min-*、max-*属性使用),分别为不同的屏幕设置布局格式,当屏幕大小改变时,会出现不同的布局,意思就是在这个屏幕下这个元素块在这个地方,但是在那个屏幕下,这个元素块又会出现在那个地方。只是布局改变,元素不变。可以看成是不同屏幕下由多个静态布局组成的。

而流式布局的特点是随着屏幕的改变,页面的布局没有发生大的变化,可以进行适配调整,这个正好与自适应布局相补。使用%百分比定义宽度,高度大都是用px来固定住,可以根据可视区域 (viewport) 和父元素的实时尺寸进行调整,尽可能的适应各种分辨率。往往配合 max-width/min-width 等属性控制尺寸流动范围以免过大或者过小影响阅读。这种布局方式在Web前端开发的早期历史上,用来应对不同尺寸的PC屏幕(那时屏幕尺寸的差异不会太大),在当今的移动端开发也是常用布局方式,但缺点明显:主要的问题是如果屏幕尺度跨度太大,那么在相对其原始设计而言过小或过大的屏幕上不能正常显示。因为宽度使用%百分比定义,但是高度和文字大小等大都是用px来固定,所以在大屏幕的手机下显示效果会变成有些页面元素宽度被拉的很长,但是高度、文字大小还是和原来一样(即,这些东西无法变得“流式”

注:屏幕分辨率变化时,页面里元素的大小会变化而但布局不变。

主要实践案例:左侧固定+右侧自适应、左右固定宽度+中间自适应、圣杯布局、双飞翼布局

4.响应式布局(媒体查询)

——通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。屏幕尺寸不一样展示给用户的网页内容也不一样.利用媒体查询可以检测到屏幕的尺寸(主要检测宽度),并设置不同的CSS样式,就可以实现响应式的布局。主要依靠是css的媒体查询。

注:每个屏幕分辨率下面会有一个布局样式,即元素位置和大小都会变。

5.弹性布局

——rem/em、flex布局

CSS在英文中有如下几种常见的缩写:

1,Cascading Style Sheets 层叠样式表

2,Content Scrambling System DVD电影的加密系统

3,Cast Semi-Steel 半铸钢, 钢性铸铁

4,College Scholarship Service 大学奖学金处

其中在网络上最常见的是Cascading Style Sheets(层叠样式表)

什么是Cascading Style Sheets(层叠样式表)

* CSS是Cascading Style Sheets(层叠样式表)的简称.

* CSS语言是一种标记语言,它不需要编译,可以直接由浏览器执行(属于浏览器解释型语言).

* 在标准网页设计中CSS负责网页内容(XHTML)的表现.

* CSS文件也可以说是一个文本文件,它包含了一些CSS标记,CSS文件必须使用css为文件名后缀.

* 可以通过简单的更改CSS文件,改变网页的整体表现形式,可以减少我们的工作量,所以她是每一个网页设计人员的必修课.

* CSS是由W3C的CSS工作组产生和维护的.

Cascading Style Sheets(层叠样式表)的历史

* 1996年W3C正式推出了CSS1.

* 1998年W3C正式推出了CSS2.

* CSS2.1是W3C现在正在推荐使用的.

* CSS3现在还处于开发中.

网页设计中常用的CSS属性

文字或元素的颜色 color

背景颜色 background-color

背景图像 background-image

字体 font-family

文字大小 font-size

列表样式 list

鼠标样式 cursor

边框样式 border

内补白 padding

外边距 margin

等...

css可以用任何写文本的工具进行开发,如文本工具,dreamweaver开发

css也是一种语言,这种语言要和html或者xhtml语言相结合才起作用,

css简单来说就是用来美化网页用的,用css语言来控制网页的外观

举个例子

xhtml部分:

<ul>

<li><a href="#">主页</a></li>

<li><a href="#">留言</a></li>

<li><a href="#">论坛</a></li>

</ul>

此时在页面上的表达形式是一个竖向列表,这样不够美观,

可以css来改善这个列表为一个横向导航条和超链接

css部分:

ul{list-style:nonemargin:0pxpadding:0px}

ul li{margin:0pxpadding:0pxfloat:left}

ul li a{display:blockwidth:100pxheight:30pxbackground:#efefefcolor:#333text-decoration:none}

ul li a:hover{background:#333color:#fff}

添加上css后,这个列表变成横向的导航条了,超级链接是淡色背景,灰色字体,没有下划线,高度是30像素,宽度是100像素

当我们鼠标经过这个超级链接时候,变成灰色背景,白色字体