博客列表 >浮动与三列布局学习--2019年09月04日20时00分

浮动与三列布局学习--2019年09月04日20时00分

小星的博客
小星的博客原创
2019年09月17日 01:08:45603浏览

浮动

浮动:顾名思义,就是将元素浮起来。

html元素默认是按照书写的顺序在浏览器中,遵循先从左到右,再从上到下进行排列,这叫文档流;而浮动可以打破这一规则,让元素从文档流中脱离,改变其原来位置。

浮动的几个特性

  • 只对后续元素产生位置影响,不影响前面的元素。

  • 同级的浮动元素会紧挨着排列,不会重叠。

  • 将元素转化为 块级元素。

  • 父元素的高度会坍塌,不会被浮动元素撑开。


清除浮动


实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <style>
        /* 清除浮动一般有两种方式 */
        /* 1. overflow: hidden */
        /* 2. 使用 clear: both; 因为clear只能清除前面元素浮动的影响,所以一般将这个元素添加到最后一个子元素之后, */
        /* 但是新增dom元素又不太好,所以一般会用 伪元素去添加 */
        .wrap {
            width: 300px;
            border: 4px solid red;
            /* overflow: hidden; */
        }
        .wrap:after {
            content: "";
            display: block;
            clear: both;
        }
        .son {
            float: left;
            width: 300px;
            height: 300px;
            background: wheat;
        }
    </style>
    <title>清除浮动</title>
</head>
<body>
    <div class="wrap">
        <div class="son"></div>
    </div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

清除浮动后可以看到父级元素宽高被撑开了

TIM截图20190915223436.png


三列布局

  1. 定位实现

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="./css/position.css">
    <title>三列布局</title>
</head>
<body>
    <div class="container">
        <div class="header">头部</div>
        <div class="main">
            <div class="left">左侧</div>
            <div class="content">中间</div>
            <div class="right">右侧</div>
        </div>
        <div class="footer">底部</div>
    </div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

position.css

实例

.container {
    width: 1200px;
    margin: 0 auto;
}

.header {
    height: 50px;
    background-color: wheat;
}

.footer {
    height: 50px;
    background-color: lightblue;
}

/* 对主体区域进行设置 */
.main {
    position: relative;
    margin: 10px 0;
}

.left {
    position: absolute;
    left: 0;
    top: 0;
    width: 200px;
    min-height: 600px;
    background-color: lightgrey;
}

.right {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 200px;
    min-height: 600px;
    background-color: lightgreen;
}

.content {
    /* 中间区就不需要再使用定位了 */
    /* 可以使用 margin的自动挤压来撑开中间内容 */
    margin: 0 210px 0 210px;
    height: 600px;
    background-color: lightcoral;
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

 2. 使用浮动实现

布局依旧一样,css改变

float.css

实例

.container {
    width: 1200px;
    margin: 0 auto;
}

.header {
    height: 50px;
    background-color: wheat;
}

.footer {
    height: 50px;
    background-color: lightblue;
}

/* 对主体区域进行设置 */
.main {
    margin: 10px 0;
    overflow: hidden;
}

.left {
    float: left;
    width: 200px;
    min-height: 600px;
    background-color: lightgrey;
}

.right {
    float: right;
    width: 200px;
    min-height:600px;
    background-color: lightgreen;
}

.content {
    margin-left: 10px;
    float: left;
    width: 780px;
    min-height: 600px;
    background-color: lightcoral;
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

TIM截图20190915222014.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议