html——浮动

一.浮动

有两种浮动情况:先判断设置浮动部分的前面是否是标准流

1、float的三个属性:left元素向左浮动 right 元素向右浮动 none(默认值)所设元素不浮动

2、所设的部分浮动,下面的元素垂直向上平移,紧跟在所设浮动部分前面的元素下面,即浮动部分与下面的元素叠加起来。

3、float只有横向浮动,没有纵向浮动,当元素被设置float属性后,将会脱离标准流,并使得该元素的display属性变更为行内块元素,浮动元素的后一个元素会围绕着浮动元素(eg:运用是文字围绕图片)。浮动部分的前一部分若没有设置浮动属性,则不影响前面的部分。

4、在设置左浮动右浮动时,若交叉使用,则左、右浮动只以前一个相同属性作为参考标准,即左浮动只在左边部分往上看齐,无论中间隔了多少个右浮动部分都与右浮动无关;右浮动只在右边往往看齐,无论前边隔了几个左浮动都与其无关。

二.定位

1、position的属性值共有四个:static默认值、relative相对定位、absolute绝对定位、fixed固定定位 (left top bottom)

2、相对定位只是相对自己之前的位置。对内联元素设置width依旧无效top:(上下)垂直偏移量 left:(左右)水平偏移量

3、绝对定位 

    若对象是相对于body,则有,如果在其节点树中所有父(祖)元素都没有设置position属性值为relative或者absolute则该元素最终将对body进行位置偏移;当对象是相对于上一级(父级、祖级)元素,并且遵循就近原则。如果元素的父级设置了position属性,且position的属性值为absolute或者relative时,这个时候,元素应当按照这个父级来进行定位。块元素设置了position: absolute之后,则变成行内块元素。

三.补充属性

1.z-index:只能在position属性值为relative或absolute或fixed的元素上有效,如两者发生重叠时,z-index的值越大,位置越往上。

2.display

块级元素:独占一行、可以设置宽和高。此元素前后会带有换行符。block

内联元素:设置宽和高没有作用 inline

行内块:没有独占一行、可以设置宽和高 inline-block

(将块级元素变成行内块时需要在网页上调整高度)

区别:行内块取其块级元素的长处,补其内联元素的短处。

3.overflow

——visible 默认值。内容不会被修剪,会呈现在元素框之外。

——hidden 内容会被修剪,并且其余内容是不可见的。

——scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。(默认有滚动框)

——auto   如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。(溢出才有滚动条)

4.visibility

——visible 默认值。元素是可见的。

——hidden 元素是不可见的。

5. visibility与display:

visibility:hidden;隐藏元素,但其位置空出,新元素不可覆盖其旧元素位置。

display:none;元素消失,新元素覆盖其旧元素位置。

猜你喜欢

转载自blog.csdn.net/Jennifering/article/details/80524865