美文网首页
高度塌陷与元素定位

高度塌陷与元素定位

作者: f6d8ee519880 | 来源:发表于2018-11-04 18:52 被阅读0次

在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高
但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷
由于父元素的高度塌陷了,则父元素下的所有元素都会向上移动,这样将会导致页面布局混乱
解决方案
将元素overflow设置为一个非visibility的值 scroll或auto

最好用的是hidden

EI6 以及以下的浏览器不支持BFC :

hasLayout

解决方法:

zoom:1;

list-style:none; 去除项目符号
清除浮动:

clear:both;清楚影响最大的浮动

配合使用解决高度塌陷

.clearfix(类名,约定俗称):after{content:内容;display:block; clear:both;}

zoom:1 兼容IE6

定位:

position属性可以控制Web浏览器如何以 及在何处显示特定的元素。
可以使用position属性把一个元素放置到网 页中的任何位置。
可选值:
static
relative
absolute
fixed
相对定位:
每个元素在页面的文档流中都有一个自然位置。相 对于这个位置对元素进行移动就称为相对定位。周 围的元素完全不受此影响。
当将position属性设置为relative时,则开启了元素 的相对定位。
当开启了相对定位以后,可以使用top、right、 bottom、left四个属性对元素进行定位。
相对定位的特点:
如果不设置元素的偏移量,元素位置不会发生改变。
相对定位不会使元素脱离文本流。元素在文本流中 的位置不会改变。
相对定位不会改变元素原来的特性。
相对定位会使元素的层级提升,使元素可以覆盖文 本流中的元素。
绝对定位:
绝对定位指使元素相对于html元素或离他最近 的祖先定位元素进行定位。
当将position属性设置为absolute时,则开启 了元素的绝对定位。
当开启了绝对定位以后,可以使用top、right、 bottom、left四个属性对元素进行定位。
绝对定位的特点:
绝对定位会使元素完全脱离文本流。
绝对定位的块元素的宽度会被其内容撑开。
绝对定位会使行内元素变成块元素。
一般使用绝对定位时会同时为其父元素指定一 个相对定位,以确保元素可以相对于父元素进 行定位。
固定定位:
固定定位的元素会被锁定在屏幕的某个位置上,当 访问者滚动网页时,固定元素会在屏幕上保持不动。
当将position属性设置为fixed时,则开启了元素的 固定定位。
当开启了固定定位以后,可以使用top、right、bottom、left四个属性对元素进行定位。
固定定位的其他特性和绝对定位类似。
z-index:
当元素开启定位以后就可以设置z-index这 个属性。
这个属性可以提升定位元素所在的层级。
z-index可以指定一个整数作为参数,值越 大元素显示的优先级越高,也就是z-index 值较大的元素会显示在网页的最上层。

开班信息表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>开班信息</title>
    <style type="text/css">
        /*清除默认样式*/
        *{
            margin: 0;
            padding: 0;
        }

        /*统一页面中的字体*/
        body{
            font: 12px/1 宋体;
        }

        /*设置outer的大小*/
        .outer{
            width: 300px;
            /*height: 473px;*/
            /*background-color: #bfa;*/
            /*设置outer居中效果*/
            margin: 50px auto;
        }

        /*设置title的边框*/
        .title{
            /*设置上边框*/
            border-top: 2px #019e8b solid;
            /*设置盒子的高度*/
            height: 36px;
            /*设置背景样式*/
            background-color: #f5f5f5;
            /*设置title的行高*/
            line-height: 36px;
            /*设置title的内边距*/
            padding: 0px 22px 0px 16px;
        }
        /*设置title中的超链接*/
        .title a{
            float: right;
            /*设置字体颜色*/
            color: red;
        }

        /*设置h3*/
        .title h3{
            font: 16px/36px "微软雅黑";
        }

        /*设置内容*/
        .content{
            border: 1px solid #deddd9;
            /*设置内边距*/
            padding: 0px 28px 0px 20px;
        }

        /*设置内容中的超链接*/
        .content a{
            color: black;
            text-decoration: none;
            /*设置字体大小*/
            font-size: 12px;
        }

        /*为超链接添加一个hover伪类*/
        .content a:hover{
            color: red;
            /*为超链接添加下划线*/
            text-decoration: underline;
        }

        /*设置内容中的标题*/
        .content h3{
            margin-top: 14px;
            margin-bottom: 16px;
        }

        /*设置右侧a的样式*/
        .content .right{
            /*设置向右浮动*/
            float: right;
        }

        /*设置ul的样式*/
        .content ul{
            /*去除项目符号*/
            list-style: none;
            /*为ul设置一个下边框*/
            border-bottom: 1px dashed #deddd9;
        }

        /*取消最后一个ul的边框*/
        .content .no-border{
            border: none;
        }

        /*设置内容中的红色字体*/
        .content .redfont{
            color: red;
            font-weight: bold;
        }

        /*设置内容中的li*/
        .content li{
            margin-bottom: 15px;
        }
    </style>
</head>
<body>
    <!-- 创建一个外层div,容纳整个内容 -->
    <div class="outer">
        <!-- 开班信息的头部 -->
        <div class="title">
            <a href="#">18年面授开班计划</a>
            <h3>近期开班</h3>
        </div>

        <!-- 开班信息的主要内容 -->
        <div class="content">
            <h3><a href="#">人工智能+Python-高薪就业班</a></h3>
            <ul>
                <li>
                    <a class="right" href="#"><span class="redfont">预约报名</span></a>
                    <a href="#">开班时间:<span class="redfont">2018-04-26</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span class="redfont">无座,名额爆满</span></a>
                    <a href="#">开班时间:<span class="redfont">2018-03-23</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2018-01-23</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2017-12-20</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2017-11-18</span></a>
                </li>
            </ul>
            <h3><a href="#">Android开发+测试-高薪就业班</a></h3>
            <ul>
                <li>
                    <a class="right" href="#"><span class="redfont">预约报名</span></a>
                    <a href="#">开班时间:<span class="redfont">2018-04-26</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2018-03-23</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2018-01-23</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2017-12-20</span></a>
                </li>
            </ul>
            <h3><a href="#">大数据软件开发-青芒工作室</a></h3>
            <ul class="no-border">
                <li>
                    <a class="right" href="#"><span class="redfont">预约报名</span></a>
                    <a href="#">开班时间:<span class="redfont">2018-04-26</span></a>
                </li>
                <li>
                    <a class="right" href="#"><span>开班盛况</span></a>
                    <a href="#">开班时间:<span>2018-01-23</span></a>
                </li>
            </ul>
        </div>
    </div>
</body>
</html>
开班信息表

相关文章

  • 前端05day

    相对定位 绝对定位 固定定位 CSS高度塌陷 高度塌陷问题 在文档流中,父元素的高度默认是被子元素撑开的,也就是子...

  • 高度塌陷与元素定位

    在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高但是当为子元素设置浮动以后,子元素会完...

  • 高度塌陷与元素定位

    在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高但是当为子元素设置浮动以后,子元素会完...

  • 高度塌陷、定位、元素层级

    高度塌陷: 在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高 但是当为子元素设置浮动以...

  • 前端07day

    高度塌陷: 块元素默认父亲宽,高度由内容撑开父元素高度由子元素撑开浮动后塌陷 解决高度塌陷: BFC 1.父元素的...

  • 塌陷,导航,定位

    高度塌陷 块元素默认父亲宽,高度由内容撑开父元素高度由子元素撑开浮动后塌陷解决高度塌陷:BFC 1.父元素的垂直...

  • 前端笔记(5)

    代码:(1)高度塌陷 (2)解决高度塌陷1 (3)解决高度塌陷2 (4)解决高度塌陷3 (5)相对定位 (6)绝对...

  • 高度塌陷

    高度塌陷 父元素撑起子元素的宽高度 但通过float设置子元素分离 这就是高度塌陷 BFC 设置模块的打开和关闭,...

  • 解决高度塌陷2

    为什么出现高度塌陷?当我们设置块级元素进行浮动的时候,会导致父元素塌陷,所以需要我们解决高度塌陷问题

  • HTML-05day

    1、高度塌陷 2、清除浮动 3、导航条 4、解决高度塌陷 5、相对定位 6、绝对定位 7、近期开班

网友评论

      本文标题:高度塌陷与元素定位

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