传统网页布局三种方式

能够说出为什么需要浮动

能够说出浮动的排列特性

能够说出3中最常见的布局方式

能够说出为什么需要清除浮动

能够写出至少2种清除浮动的方法

能够利用Photoshop实现基本的切图

能够利用Photoshop插件实现切图

能够完成学成在线的页面布局

浮动

常见网页布局

清除浮动

PS切图

学成在线案例

 

传统网页布局的三种方式

标准流(普通流、文档流)   浮动  定位

块级元素独占一行 div、hr、p、h1~h6、ul、ol、dl、form、table

行内元素会按照顺序,左到右顺序排列,父元素边缘则自动换行。

常见元素 : span、 a、 i、 em 等

标准流:就是由块级元素和行内元素按照默认规定的方式来排列,块级就是占一行,行内元素一行放好多个元素

以上都是标准流布局,标准流是最基本的布局方式

 

三种布局方式都是用来摆放盒子的,盒子摆放到合适位置,布局自然完成了。

实际开发中,一个页面基本包含三种布局方式 标准流、浮动、定位(后面移动端学习新的布局方式)

 

如何让多个块级盒子水平排列成一行?

 

 

display: inline-block; 标准流盒子之间会有间隙

 

 浮动盒子之间没间隙   ,    网页布局第一准则: 标准流管竖着排列, 浮动管横排列

如何实现两个盒子左右对齐?

 

为什么需要浮动?

有很多布局效果,标准流没有办法完成,此时可以利用浮动完成布局,因为浮动可以改变元素标签默认的排列方式

浮动最典型的应用,可以让多个块级元素一行内排列显示

 

浮动的特性(重难点)

1、浮动元素会脱离标准流

2、浮动的元素会一行内显示并且元素顶部对齐

3、浮动的元素会具有行内块元素的特性。

 

设置了浮动的元素最重要特性:

1、脱离标准普通流的控制(浮)移动到指定位置(动)(俗称脱标)

2、浮动的盒子不再保留原先的位置

 

浮动特性(重难点)

浮动元素会有行内块元素特性。

行内元素加了浮动也就具有了行内块元素

 

浮动元素经常和标准流父级搭配使用

为了约束浮动元素位置,我们网页布局一般采取的策略是:

先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置。符合网页布局第一准则

 

网页布局第二准则: 先设置盒子大小,之后设置盒子的位置。

 

为什么清除浮动

由于 父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为0时,就会影响下面的标准流盒子。

 

 

浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响。

清除浮动的本质 是清除浮动元素造成的影响

如果父盒子本身有高度,则不需要清除浮动

清除浮动之后,父级就会根据浮动的子盒子自动检测高度(孩子有多高 父级有多高)。父级有了高度,就不会影响下面的标准流了。

 

语法: 选择器{clear: 属性值;}   // 属性值:left ,  right , both(主要);      清除浮动的策略是: 闭合浮动

1、额外标签法也称为隔墙法,是W3C推荐的做法。   //  额外标签法会在最后一个浮动元素末尾添加一个空的标签

要求这个新的空标签必须是  块级元素  .clear{clear:both;}

 

 

2、父级添加overflow属性

可以给父级加overflow属性,属性值设置为hidden(常用),auto 或scroll

在父元素里输入 overflow: hidden;

 

3、父级添加after伪属性

.clearfix:after {
                content: "";   
                display: block;  
                height: 0;  
                clear: both;
                visibility: hidden;
                }

            .clearfix{
                *zoom: 1;    //这个是为了照顾低版本浏览器
            }

4、父级添加双伪元素

 .clearfix:before, .clearfix:after{
                content: "";
                display: table;
            }
            .clearfix:after{
                clear:both;
            }
            .clearfix{
                *zoom:1;
            }

 

额外标签法会在浮动元素末尾添加一个空的标签。

 

1、清除浮动本质是?

清除浮动的本质:是清除 浮动元素脱离标准流造成的影响

2、清除浮动策略是?

闭合浮动,只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子。 //clear : both

3、额外标签法?

隔墙法,就是在最后一个浮动的子元素后面添加一个额外标签 添加 清除浮动样式。

 

伪元素清除浮动

.clearfix:after{

  content: "";   //这个不懂

  display: block;  //盒子

  height: 0;    //  高度为0

  clear: both;    // 

  visibility: hidden;  // 不懂

}

 

 

 

 为了提高网页制作效率。布局通常以下整体思路

1、确认页面的版心(可视区)

2、分析野蛮中的行模块,以及每个行模块中的列模块(先有行再有浮动的列)。 页面布局第一准则。

3、一行中的列模块经常浮动布局,确定每个列的大小 之后确定列的位置,  页面布局第二准则。

4、先有结构 后有样式

 

实际开发中,我们不会直接用链接a而是用 li 包含链接(li+a)的做法

1、如果直接用a,搜索引擎容易辨别为有堆砌关键字嫌疑(故意堆砌关键字容易被搜索引擎降权的风险)从而影响网站排名

 
posted @ 2021-06-08 12:02  Sai佐为  阅读(554)  评论(0)    收藏  举报