Web前端-css5--浮动

                                                      浮 动

  浮动后的页面文档会出现  层的概念
        浮动后的元素都会 到顶层 也就是文档流的上层 ,但是注意 浮动只会产生2层

 

浮动

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动</title>
   
    <style>
        ul {
            list-style-type: none;
            border: 1px solid #f00;
            padding: 0;
        }

        li {
            width: 200px;
            height: 200px;
            border: 1px solid #000;
            /*给li 标签设置浮动的样式*/
            /*float: left;*/
            float: right;
        }

        .a1 {
            background-color: #f0f;
        }

        .a2 {
            background-color: #00f;
        }

        .a3 {
            background-color: #f00;
        }

        .a4 {
            background-color: #ff0;
        }


    </style>
</head>
<body>

<ul>
    <li class="a1">1</li>
    <li class="a2">2</li>
    <li class="a3">3</li>
    <li class="a4">4</li>
</ul>

</body>
</html>

浮动的影响

 1 若子元素浮动,父元素的大小是靠子元素称起的,子元素浮动后父元素则没有大小了
  2 浮动后因为不在同一个图层中了所以,后面的元素会向上运动


去除浮动的影响

 1 若子元素浮动,父元素的大小是靠子元素称起的,子元素浮动后父元素则没有大小了
       2 浮动后因为不在同一个图层中了所以,后面的元素会向上运动

        前面的元素若是浮动,则会遮挡住一部分后面的内容  缺陷
         如何解决那?
         清除浮动的方法:
              1 父元素内部添加任意一个子元素 然后 设置该子元素的高度与 浮动的子元素的高度相同即可
              2 同理  直接设置父元素的内容区域的大小即可
              3  简单暴力 直接给受到浮动影响的元素添加 清除浮动对我的影响的样式
                 清除浮动要清除对应的浮动才能生效,
                 可以直接清除所有浮动带来的影响  both

 <style>
        ul {
            list-style-type: none;
            border: 1px solid #f00;
            padding: 0;
            margin: 0;

            /*方式2*/
            /*height: 202px;*/
        }

        li {
            width: 200px;
            height: 200px;
            border: 1px solid #000;
            /*给li 标签设置浮动的样式*/
            float: left;

        }

        .a1 {
            background-color: #f0f;
        }

        .a2 {
            background-color: #00f;
        }

        .a3 {
            background-color: #f00;
        }

        .a4 {
            background-color: #ff0;
        }
        /*方式一*/
        /*.clearA5{*/
            /*float: none;*/
            /*width: 1200px;*/
            /*background-color: #49ff66;*/
        /*}*/

        div {
            width: 1100px;
            height: 250px;
            background-color: cyan;
            /*方式三*/
            clear: both;
        }

        nav {
            width: 100px;
            height: 250px;
            background-color: yellow;
        }


    </style>

浮动特点

1浮动后的元素在使用margin-top 的时候不会收到边框塌陷了
      2浮动后的元素可以任意的使用margin
      3浮动后的元素默认是可以设置大小和在一行显示    浮动后的元素的本质是 行内块
        在设置成block(块) 不生效

浮动构建布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>结构布局</title>
    <style>
        header, section, aside, footer {
            background-color: #000;
            font-size: 30px;
            color: #fff;
            text-align: center;
        }

        div {
            width: 1000px;
            border: 1px solid #f00;
        }

        header, footer{
            height: 150px;
            line-height: 150px;
        }

        footer{
            clear: both;
        }
        section{
            float: left;
            width: 680px;
            background-color: #666;
        }
        aside{
            float: right;
            width: 300px;
        }
        section, aside{
            height: 400px;
            line-height: 400px;
            margin-top: 20px;
            margin-bottom: 20px;
        }

    </style>
</head>
<body>
<div>
    <header>header</header>
    <section>content</section>
    <aside>sidebar</aside>
    <footer>footer</footer>
</div>
</body>
</html>
发布了26 篇原创文章 · 获赞 4 · 访问量 428

猜你喜欢

转载自blog.csdn.net/yanghainan0318/article/details/103439097