美文网首页
浮动和定位

浮动和定位

作者: zhang南方有嘉木 | 来源:发表于2017-08-01 23:19 被阅读0次

    css的三种布局方式:

    1.标准流: 从上面往下面布局

    2.浮动

    3.定位

    在标准流下,分为三种元素:

    块级元素

    行内元素

    行内块元素

    浮动的值:

    float: left  right

    浮动的特点:

    1.可以使元素排成一行

    2.脱标: 脱离标准流(半脱标),不占位置

    3.后面浮动的盒子应该排列在前面浮动盒子的后面

    4.做文字环绕效果: 文字会环绕着浮动的盒子显示

    5.使行内元素可以设置宽高

    6.如果父盒子宽度不足以显示子盒子的内容,子盒子会往下面显示

    总宽高:  502 290

    左边盒子宽高: 302 290

    右边上盒子: 190 140

    右边下盒子: 190 140

    --------------------------------------

    清除浮动不是把浮动干掉,清除浮动带来的影响

    浮动的影响: 使父盒子没有高度 (父盒子高度由子盒子高度撑起)

    1.给父盒子设置高度  (一般不怎么使用)

    2.给父盒子设置overflow: hidden;

    (一般少用)

    原理:  设置了overflow: hidden,触发bfc机制: block formatting context,块级排版上下文,划定一块区域,让该区域里面的所有的html元素按照一定的规则进行排列,不影响其他元素的布局(显示)

    overflow: hidden; 超出父元素部分隐藏

    auto; 超出父元素内容,出现滚动条

    overflow:hidden;清除浮动,在有定位的时候不适合使用

    3.在父元素里面添加一个空的块级子元素,并且设置clear:both;  (left,right)

    程序员修改代码结构  (一般不用)

    4.本质上是第三种方法,不会修改结构

    伪类选择器:

    选择器名:hover {}

    选择器名:after: 在选择器里面的最后面添加一项内容

    IE低版本不支持:after

    高级浏览器

    .clear-fix:after {

    content: "";

    display: block;

    clear: both;

    }

    低级浏览器

    .clear-fix {

    zoom: 1;

    }

    ---------------------------------------

    浮动元素不给宽度,默认宽度为内容的宽

    浮动的三要素:

    1.一般给宽度,不要给高度(一般由子元素撑起)

    2.同级的元素,只要一个设置浮动,所有的都应该设置浮动

    3.只要给子元素设置了浮动,那么父元素必须清除浮动

    设置inline-block,空格,默认为与文字的基线对齐

    vertival-align: top

    1.标准流(文档流) : 从上往下布局

    2.浮动

    3.定位 : 设置标签元素的位置,结合四个方向属性来设置位置

    top: 距离上方的位置

    bottom: 距离下方的位置

    left: 距离左边的位置

    right: 距离右边的位置

    设置定位: position

    1.静态定位(static): 以前用的定位其实就是静态定位,在静态定位的时候,四个方向属性值是不起作用的

    2.绝对定位(absolute)

    3.相对定位(relative)

    4.固定定位(fixed): 把一个标签元素固定在某一块位置

    后面三种定位,方向属性值都是起作用的

    绝对定位:

    1.脱离标准流

    2.可以使行内元素设置宽高

    3.参考点:

    a.祖宗盒子没有定位的情况下,以body,浏览器窗口的左上角作为参考点

    b.如果盒子间发生嵌套关系,并且子盒子设置绝对定位,参考点就是具有定位的祖宗盒子;如果所有的祖宗盒子都没有定位,那么还是以body,浏览器的左上角作为参考点

    相对定位:

    1.不是脱离标准流

    2.不可以使行内元素设置宽高

    3.参考点,以元素的当前位置作为参考

    作用:

    a.元素位置的微调

    b.父相子绝 (父盒子相对定位,子盒子绝对定位)

    盒子的居中显示:

    margin: 0 auto;

    如果盒子设置为绝对定位,auto不起作用

    margin的负边距布局

    margin为正值的时候

    margin-left: 盒子往右边跑

    margin-top: 盒子往下边跑

    margin为负值的时候

    margin-left: 盒子往左边跑

    margin-top: 盒子往上边跑

    如果盒子有绝对定位,让盒子居中,一般就是给该盒子设置以下样式:

    width: 200px;

    heigth: 200px;

    left: 50%;

    top: 50%;

    margin-left: -100px;

    margin-top: -100px;

    注: margin-left的值和margin-top值,为盒子宽高的一半

    固定定位: fixed,将元素固定在网页的某个位置

    1.脱离标准流

    2.可以使行内元素设置宽高

    3.参考点: 以body,浏览器左上角

    z-index: 设置元素的堆叠顺序,值是一个数值,谁的值大,那么就显示在最上面

    注意点:

    1.如果要想使z-index值生效,必须设置定位(绝对,相对,固定定位)

    2.z-index的比较,只在同级比较

    A a,B b,如果A的z-index值大于B,那么无论b的z-index值是多少,都不可能显示在最上面

    颜色:

    1.单词,red,blue

    2.十六进制

    3.rgb()

    4.rgba(r,g,b,a) : a透明度的意思  0-1,1代表不透明,0代表透明

    rgba仅仅是颜色的透明度变化

    opacity: 0-1 ,0 代表完全透明,1代表不透明

    opacity的透明指的是元素所有的内容,包括内容,背景颜色

    相关文章

      网友评论

          本文标题:浮动和定位

          本文链接:https://www.haomeiwen.com/subject/rvwslxtx.html