HTML CSS

CSS入门八之浮动

2020-12-12  本文已影响0人  码农修行之路
浮动

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

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

浮动元素的特点:

  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>
上一篇下一篇

猜你喜欢

热点阅读