css3浮动与定位,float属性

阅读需要5分钟,看到各种知识点需要在大脑里想出网页画面。

        一般的html元素都是这样的:在一行中从左往右一个一个元素挨着排列,这是行内元素;有的元素独占一行,从上往下一行一行的排列,这是块级元素;有的元素虽然从左往右排队,但是他却可以设置行高(行高是块级元素才有的)属性,因此又叫块级行内元素。

        块级元素因为从上往下排列,那么怎么样才能使块级元素从左往右排列呢?下面将揭晓答案。


目录

 一,css属性display

1,display属性值之none

2,display属性值之block

3,display属性值之inline,inline-block

4,隐藏元素的4种方式

二,文档流

1,细节一:高矮不齐,底边对齐

2,细节二:空白折叠现象1

3,细节三:空白折叠现象2

4,如何避免文档流产生的问题

三,浮动

四,消除浮动

1,程序员根据布局主动设置父元素高度与浮动元素的高度相适应

2,给受影响的元素添加clear属性

3,overflow清除浮动

4,伪对象方式。

5,总结

五,定位

1,position:relative

2,position:absolute

3,position:fixed

六,Z-index属性


 一,css属性display

display是展示的意思。他是css属性,可以为任意的html元素添加这个属性。他的作用是:改变元素类型。比如:将块级元素变为行内元素,从而能够从左往右排列。

1,display属性值之none

        当设置display属性的值为none,相当于这个元素被删除,你的代码写了也是白写。

2,display属性值之block

        任意元素在网页上都将显示为块级元素,即都是按一行一行的从上往下排。

<a href="#" style="display: block;height: 100px;background-color: aqua;">666</a>

3,display属性值之inline,inline-block

        任意元素在网页上都将显示为行内元素,块级行内元素。

4,隐藏元素的4种方式


二,文档流

        文档流指的是:网页中,各个可显示元素所占的位置。学习文档流的目的是:解决各个元素显示时,彼此排列时的细节,例如:你与陌生人排队肯定是隔得老远的,但是与女朋友排队几乎就是0cm的距离了。下面就将说明这些细节问题,只不过是html元素之间的距离。

1,细节一:高矮不齐,底边对齐

        顾名思义,一行之内所有元素的脚都在同一块地面上。

2,细节二:空白折叠现象1

        主要问题就是:多个空格(space,tab等)他都当做一个空格,除非使用实体字符:&nbsp;。

3,细节三:空白折叠现象2

        主要问题就是:有的时候我们不需要空格,也就是莫名其妙多出空格的问题。这个问题的产生原因就是:我们使用换行来使代码格式更好看,由于换行会自动产生空格,所以要避免换行产生的空格时需要注意。

4,如何避免文档流产生的问题

        不使用文档流即可。即在会发生文档流问题的地方使用其他方法代替。有三个方法:浮动,绝对定位,固定定位。


三,浮动

        浮动,即float,他是css属性,他的取值有两个,left和right,他的作用是:将竖直排列变为水平排列。它具有智能性,即:属性值相同时,比如都是left,他会自动从左往右排列。

        浮动的意思是:一层一层的显示,相当于p图,在原来图片上加上一些贴纸啥的。也类似于手机上的悬浮框,显示在其他页面之上,从而遮住底层页面的一些内容。浮动的元素在一个透明的容器里,这个透明的容器与网页大小相同。

        总结就是:浮动就是将浮动元素放在一个透明网页上,然后再将这个透明网页放在原来的网页之上,即脱离文档流。


四,消除浮动

        虽然浮动能解决文档流带来的问题,但是也会产生新的问题,属于利大于弊。浮动带来的影响有:造成父元素的高度塌陷,进而影响到父元素的后续元素(后续元素被遮住)。

        原因是:脱离文档流之后,子元素不存在于父元素里面了,导致父元素没有内容,行高撑不起来。解决方法如下:

1,程序员根据布局主动设置父元素高度与浮动元素的高度相适应

        假如浮动元素的高度为100px,那么设置父元素的高度为120px。

2,给受影响的元素添加clear属性

        通常是后续被遮住元素需要解决的问题。具有智能性:会根据浮动元素的的布局自动找位置。通常使用:clear:both。属性left和right不常用。

3,overflow清除浮动

        当父元素没有行高,后续元素又被遮住了,双重打击时,使用overflow属性。使用overflow属性时,父元素不能设置高度height属性,然后为父级元素添加属性overflow:hidden;clear:both。

4,伪对象方式。

        在父元素后面添加一个伪块级元素让其独占一行,让父元素的行高不得不撑开。

.container{
border: 5px solid red;
}
.container::after{
content: "";
display: block;
clear: both;
}
//添加的伪元素的类型是:行内元素,所以要将其变为块级,内容设置为无,从而实现一种透明的效果

5,总结


五,定位

        定位,position。属于css属性而不是html元素属性。通过position属性来确定元素(矩形方块)在网页上的位置。position属性具有三个值。

        声明position属性后,说明该元素可以进行定位了。定位需要四个参数:left,top,right,bottom。绝对定位和固定定位是浮动的。

1,position:relative

        相对定位。相对的是具有定位属性的父级元素,如果父级元素没有,则再往上找,直到html标签。left:相对于矩形左边增加距离,right:相对于矩形右边增加多少距离。

         网页显示如下:这是相对于html标签进行定位。

2,position:absolute

        left:距离左侧多少距离,而不是增加。相对的是具有定位属性的父级元素,如果父级元素没有,则再往上找,直到html标签。

3,position:fixed

        位置不变。即不随浏览器上下滑动而改变。相对于浏览器显示框的位置进行定位。


六,Z-index属性

        用来说明定位浮动元素的堆叠顺序。类似于图层顺序,谁在第一层显示,谁在第二层显示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值