博主信息
博文 37
粉丝 0
评论 1
访问量 37216
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
元素浮动造成父元素高度折叠的影响和三列布局的实现原理( 绝对定位实现, 浮动定位实现)-2019-09-04
H先生
原创
905人浏览过

1. 实例演示如何消除子元素浮动造成父元素高度折叠的影响(解决高度折叠的方法给父元素加上overflow: hidden;)


QQ截图20190905174716.png

实例

<!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">
    <title>子元素浮动</title>
    <style>
        .box {
            width: 200px;
            background-color: green;
            border: 1px dashed #ff0000;
           
        }
        
        .box1 {
            width: 100px;
            height: 100px;
            background-color: blue;
            float: left;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="box1">子元素浮动</div>
    </div>
</body>

</html>

运行实例 »

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


QQ截图20190905181308.png

实例

<!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">
    <title>子元素浮动</title>
    <style>
        .box {
            width: 200px;
            background-color: green;
            border: 1px dashed #ff0000;
            overflow: hidden;
        }
        
        .box1 {
            width: 100px;
            height: 100px;
            background-color: blue;
            float: left;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="box1">子元素浮动</div>
    </div>
</body>

</html>

运行实例 »

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

2. 实例演示三列布局的实现原理( 绝对定位实现, 浮动定位实现)

  2.1.绝对定位实现

绝对定位.png


实例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>三列布局之绝对定位</title>
    <style>
        .container {
            width: 1000px;
            margin: 0 auto;
        }
        .header {
            height: 60px;
            background-color: #f5f5f5;
        }
        .main {
            background-color: #8abeb7;
            margin: 5px auto;
        }
        .left {
            width: 200px;
            min-height: 800px;
            background-color: lightcoral;
        }
        .content {
            min-height: 800px;
            background-color: lightgreen;
        }
        .right {
            width: 200px;
            min-height: 800px;
            background-color: lightsalmon;
        }
        .footer {
            background-color: #81a2be;
            height: 80px;
        }
        .main {
            position: relative;
        }
        .left {
            position: absolute;
            left: 0;
            top: 0;
        }
        .right  {
            position: absolute;
            right: 0;
            top: 0;
        }
        .content {
            margin-left: 200px;
            margin-right: 200px;
        }
    </style>
</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>

运行实例 »

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


        2.2.浮动定位实现

浮动.png

实例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>三列布局之浮动定位</title>
    <style>

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

        .header, .footer {
            height: 60px;
            background-color: lightgrey;
        }

        .main {
            margin: 5px auto;
            background-color: #8abeb7;

        }

        .left {
            width: 200px;
            min-height: 800px;
            background-color: lightcoral;
        }

        .content {
            min-height: 800px;
            background-color: lightgreen;
        }

        .right {
            width: 200px;
            min-height: 800px;
            background-color: lightsalmon;
        }

        .left {
            float: left;
        }

        .right {
            float: right;
        }

        .content {
            float: left;
            width: 580px;
            margin-left: 10px;
        }

        .main {
            overflow: hidden;
        }
    </style>
</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>

运行实例 »

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









批改状态:合格

老师批语:布局方式有许多, 下周咱们还要学习一些比较有意思的, 而且是现在工作中正在使用的主流方式, 不要缺课哟
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学