美文网首页HTML CSS
CSS入门八之浮动

CSS入门八之浮动

作者: 码农修行之路 | 来源:发表于2020-12-12 22:51 被阅读0次
    浮动

    :能够让多个元素排列在同一行 并且可以给这些元素设置宽高

    • 我们之前学过 行内元素可以让多个元素在同一行 块元素可以设置宽高

    怎样让块元素具备行内元素的特点(多个元素放置在同一行) 那么只能让这些元素脱离标准的文档流

    • 浮动元素 float 其属性值:left right

    浮动元素的特点:

    1. 脱离现有的标准的文档流 不占用空间
    2. 浮动的层级要比标准文档流中元素的层级高(在其它非浮动元素上面 覆盖其它元素)
    3. 浮动元素可以左右移动
    4. 浮动元素遇到父元素的边框边界停止浮动 box1 float:right; 会发现盒子一到body最右边边框位置停止
    5. 浮动元素遇到上一个附送元素也会停止浮动 box2 float:right; 发现盒子二移动到盒子一左边框的位置停止
    6. 浮动元素不包括在父元素里面 box3 float:right; 发现盒子三浮动后 body边框不能包含这几个盒子了
    7. 行内元素进行浮动后 就会变成块级元素 三个盒子设置浮动属性 这些元素就变成块级元素 可以在同一行
    8. 浮动元素 可以让块级元素设置宽高

    一般浮动元素会影响整体的页面排版 怎样清除浮动 方法有三:

    1. 给浮动元素的父元素设置固定高度 可以清除浮动
    2. 在最后一个设置浮动属性的元素 下面添加一个空白div标签 并给这个空白标签设置 claer:both;(不能使用在列表里面 因为列表里面只能包含<li>标签)
    3. overflow:hidden 清除列表浮动
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>浮动</title>
        <style type="text/css">
            .b {
                border: 1px solid #000;
            }
            .box1 {
                width: 100px;
                height: 100px;
                border: 2px solid #f00;
                float: left;
            }
            .box2 {
                width: 100px;
                height: 100px;
                border: 2px solid #0f0;
                margin-left: 20px;
                float: left;
            }
            .box3 {
                width: 100px;
                height: 100px;
                border: 2px solid #00f;
                float: left;
            }
    
            .box {
                /* 给浮动元素的父元素设置固定高度 可以清除浮动 */
                /*height: 120px;*/
                border: 1px solid #333;
            }
            .s1 {
                width: 100px;
                height: 100px;
                background-color: #444;
                border: 1px solid #aaa;
                float: left;
            }
            .s2 {
                width: 100px;
                height: 100px;
                background-color: #888;
                border: 1px solid #aaa;
                float: left;
            }
            .s3 {
                width: 100px;
                height: 100px;
                background-color: #bbb;
                border: 1px solid #aaa;
                float: right;
            }
            /* 使用标签 clear 来清除浮动 标签属性 left right both(常用) */
            .clear_float {
                clear: both;
            }
    
            ul {
                list-style: none;
            }
    
            ul li {
                float: left;
            }
        </style>
    </head>
    <body class="b">
    
         <!-- <div class="box1">盒子一</div>
         <div class="box2">盒子二</div>
         <div class="box3">盒子三</div> -->
    
         <div class="box">
            <span class="s1">块元素一</span>
            <span class="s2">块元素二</span>
            <span class="s3">块元素三</span>
            <!-- 在最后一个设置浮动属性的元素 下面添加一个空白div标签 并给这个空白标签设置 claer:both; 属性来清除浮动 -->
            <div class="clear_float"></div>
         </div>
         <div>测试盒子</div>
    
         <!-- overflow:hidden 清除列表浮动  -->
    
         <ul style="overflow: hidden;">
            <li>菜单选项一</li>
            <li>菜单选项二</li>
            <li>菜单选项三</li>
            <li>菜单选项四</li>
            <li>菜单选项五</li>
            <li>菜单选项六</li>
         </ul>
    
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:CSS入门八之浮动

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