整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

CSS 布局模型详解

CSS 布局模型详解

ss布局模型

清楚了CSS盒模型的基本概念、盒模型类型,我们就可以深入探讨网页布局的基本模型了。布局模型与盒模型一样都是CSS最基本、最核心的概念。

但布局模型是建立在盒模型基础之上,又不同于我们常说的CSS布局样式或CSS布局模板。如果说布局模型是本,那么CSS布局模板就是末了,是外在的表现形式。

CSS包含3种基本的布局模型,用英文概括为:Flow、Layer和Float。

在网页中,元素有三种布局模型:

1、流动模型(Flow)

2、浮动模型(Float)

3、层模型(Layer)

流动模型(一)

先来说一说流动模型,流动(Flow)是默认的网页布局模式。也就是说网页在默认状态下的HTML网页元素都是根据流动模型来分布网页内容的。

流动布局模型具有2个比较典型的特征:

第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。

实际上,块状元素都会以行的形式占据位置。如右侧代码编辑器中三个块状元素标签(div,h1,p)宽度显示为100%。

流动模型(二)

第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)

标签a、span、em、strong都是内联元素。

浮动模型

块状元素这么霸道都是独占一行,如果现在我们想让两个块状元素并排显示,怎么办呢?不要着急,设置元素浮动就可以实现这一愿望。

任何元素在默认情况下是不能浮动的,但可以用CSS定义为浮动,如 div、p、table、img 等元素都可以被定义为浮动。

如下代码可以实现两个div元素一行显示。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    float:left;
}
<div id="div1"></div>
<div id="div2"></div>

层模型

什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,

但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧。但是在网页上局部使用层布局还是有其方便之处的。

下面我们来学习一下html中的层布局。

如何让html元素在网页中精确定位,就像图像软件PhotoShop中的图层一样可以对每个图层能够精确定位操作。

CSS定义了一组定位(positioning)属性来支持层布局模型。

层模型有三种形式:

1、绝对定位(position: absolute)

2、相对定位(position: relative)

3、固定定位(position: fixed)

着移动设备和不同屏幕大小的设备的普及,为网站设计一个能自适应不同设备的界面对于设计师和开发人员至关重要。流动布局提供了一种灵活的布局方法,可以根据设备的尺寸和方向自动调整元素的布局。

流动布局的特性

流动布局具有以下特性:

* 元素的宽度或高度会随着屏幕大小的改变而自动调整。

* 元素会自动在不同的设备方向(横屏或纵屏)中排列。

* 确保所有元素都适合设备的屏幕。

使用 flexbox 的流动布局

Flexbox 是 CSS 中的一种灵活布局模型,可用于创建流动布局。其特性如下:

* 将元素排成一行或列。

* 自动调整元素的宽度或高度以填充可用空间。

* 改变元素的排列顺序。

使用 grid 的流动布局

Grid 是一种更复杂的布局模型,它提供了更强大的灵活性和控制能力。其特性如下:

* 将页面布局成网格。

* 在网格中定义元素的位置。

* 自动调整元素的宽度或高度以填充网格。

结论

流动布局是现代网站开发中必不可少的技术,可以提供自适应不同设备的灵活布局。通过使用 flexbox 或 grid,可以创建具有美观和功能强大的流动布局。

TML中常用的布局元素:<table>、<div>+CSS

<table>标签:

<table>指的是表格,用表格来搭建界面布局,即用表格的嵌套,来搭建界面布局。

<table>布局优势:

table优势:开发时间短(使用DW开发速度快);纯table各浏览器不会有兼容问题;内容可自适应;在搜索引擎排名能靠前;

但是 table如果布局变更,需要重新开发;如果table里有div ul 等,可能会出现浏览器兼容问题;加载速度慢;table嵌套的太多,运维是非常困难的。

<div>块级(block-level)标签:

DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。

<div>布局优势:

一.精简代码,减少重构难度。

网站使用DIV+CSS布局使代码很是精简,css文件可以在网站的任意一个页面进行调用,而若是使用table表格修改部分页面却是显得很麻烦。要是一个门户网站的话,需手动改很多页面,而且看着那些表格也会感觉很乱也很浪费时间,但是使用css+div布局只需修改css文件中的一个代码即可。

二.网页访问速度

使用了DIV+CSS布局的网页与Table布局比较,精简了许多页面代码,那么其浏览访问速度自然得以提升,也从而提升了网站的用户体验度。

三.SEO优化

采用div-css布局的网站对于搜索引擎很是友好,因此其避免了Table嵌套层次过多而无法被搜索引擎抓取的问题,而且简洁、结构化的代码更加有利于突出重点和适合搜索引擎抓取。

四.浏览器兼容性

若使用table布局网页,在使用不同浏览器情况下会发生错位,而div+css则不会,无论什么浏览器,网页都不会出现变形情况。


HTML中常用的3种布局方式:

1.流动式布局:是HTML网页默认的布局方式

特点:

1.块级元素都会在所处的包含元素内自上而下按顺序处置延伸分布,且默认状态下,块级元素占整个文档流,默认宽度为100%。

2.内联元素都会在所处的包含元素内从左到右水平分布显示,不占整个文档流。

常见的块级(block)元素有:<h1-h5> 、<table>、 <ul>、<li> 、<p> 、<form>、 ol

常见的内内联(行内)元素有:<a>、<span>、<img>、<input>、<select>、<textarea>

2.浮动布局(float)

特点:

浮动布局依靠【 浮动属性 float:left/right/... 】来使标签脱离文档流,达到两个块级元素并排显示的效果。

float:left ; 浮动脱离当前文档流浮动。

同时可以依靠【展示属性display:inline/block/inline-block】来进行行内元素和块级元素的效果切换。从而达到灵活运用块级元素和行内元素布局的效果。

3.层模型布局又叫定位布局

特点:

当我们应拥div布局是,在第一层块界面上来做第二层块界面的开发时,就要用到我们所说的定位布局。

通过运用【定位属性position:absolute/relative/fixed】 来进行第二层界面的定位布局。

网页是静态的,网页上的定位

position:absolute ;绝对定位脱离文档流,不受浮动影响,就是相对于窗体(body)边界的margin定位。

position:relative; 相对定位不脱离文档流,相对于父级标签元素的位置定位。

position:fixed;固定位置,不会受任何因素影响。

滚动条移动前

滚动条移动后

优先层显示方法:【属性:z-index:0/1/2...】

特点: 数值越大,越优先显示。

注意:只有元素使用了position属性的,才具有z-index属性。


本文部分内容来自网络,如有侵权,请联系修改。