CSS浮动

本文详细介绍了浮动布局在网页设计中的常见应用场景,如文字环绕和横向排列,并阐述了浮动元素的基本特性,包括左浮动、右浮动以及高度坍塌问题。通过浮动练习案例展示了如何创建电影分类筛选区域和电影列表,同时讨论了解决高度坍塌的清除浮动方法。文章还包含了相关CSS样式代码,帮助理解浮动布局的实际运用。
摘要由CSDN通过智能技术生成


浮动

1、应用场景

  1. 文字环绕

  2. 横向排列

2、浮动基本特变

修改float属性:
-left:左浮动,元素靠上靠左
-right:右浮动元素靠上靠右
默认值为none

  1. 当一个元素浮动后,元素必定为块盒(更改dispaly属性为block)。
  2. 浮动元素的包含块和常规流一样,为父元素的内容盒。

3、盒子尺寸

  1. 宽度为auto时,适应内容宽度
  2. 高度为auto时,与常规流一样,适应内容高度
  3. margin为auto时,为0
  4. 边框、内边距、百分比设置与常规流一样

4、盒子排列

  1. 左浮动的盒子靠上靠左排列
  2. 右浮动的盒子靠上靠右排列
  3. 浮动盒子在包含块中排列时,会避开常规流块盒
  4. 常规流块盒在排列时,无视浮动盒子
  5. 行盒在排列时,会避开浮动盒子

如果文字没有在行盒中,浏览器会自动生成一个行盒包裹文字,该行盒叫做匿名行盒

<img src="./hashiqi.jpg" alt="" style="width:200px;float:left;margin-right:19px;margin-botton:33px;">
  1. 外边距合并不会发生

5、高度坍塌

高度坍塌根源:常规流盒子的自动高度,在计算时,不会考虑浮动盒子
解决方法:清除浮动,涉及css属性:clear
-默认值:none
-left:清除左浮动,该元素必须出现在前面所有左浮动盒子的下方
-right:清除右浮动,该元素必须出现在前面所有右浮动盒子的下方
-both:清除左右浮动,该元素必须出现在前面所有浮动盒子的下方

.clearfix{
    clear:both;
}

浮动练习

1、movie.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>正在热映--猫眼电影</title>
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/movie.css">
    <link rel="stylesheet" href="css/common.css">

</head>
<body>
    <div class="main">
        <!-- 菜单 -->
        <nav class="nav">
        <nav>
        <a href="">正在上映</a>
        <a href="">即将上映</a>
        <a href=""  class="select">经典影片</a>
    </nav>
</nav>
<div class="container">
    <div class="choose-area">
        <div class="choose-item  clearfix">
            <div class="left">类型:</div>
            <div class="right">
             <!-- ul>li*20>a>lorem1 -->
                <ul>
                    <li class="select"><a href="" >Lorem.</a></li>
                    <li><a href="">Minima!</a></li>
                    <li><a href="">Nesciunt?</a></li>
                    <li><a href="">A.</a></li>
                    <li><a href="">Dolore?</a></li>
                    <li><a href="">Aliquam.</a></li>
                    <li><a href="">Omnis!</a></li>
                    <li><a href="">Nisi!</a></li>
                    <li><a href="">Facere.</a></li>
                    <li><a href="">Quibusdam.</a></li>
                    <li><a href="">Repudiandae?</a></li>
                    <li><a href="">A!</a></li>
                    <li><a href="">Alias!</a></li>
                    <li><a href="">Illo.</a></li>
                    <li><a href="">Ab!</a></li>
                    <li><a href="">Sunt.</a></li>
                    <li><a href="">Dolorem.</a></li>
                    <li><a href="">Recusandae?</a></li>
                    <li><a href="">Voluptatem!</a></li>
                    <li><a href="">Hic?</a></li>
                </ul>
            </div>
        </div>
        <div class="choose-item clearfix">
            <div class="left">地区:</div>
            <div class="right">           <!-- ul>li*20>a>lorem1 -->
                <ul>
                    <li><a href="">Lorem.</a></li>
                    <li><a href="">Minima!</a></li>
                    <li><a href="">Nesciunt?</a></li>
                    <li><a href="">A.</a></li>
                    <li><a href="">Dolore?</a></li>
                    <li><a href="">Aliquam.</a></li>
                    <li><a href="">Omnis!</a></li>
                    <li><a href="">Nisi!</a></li>
                    <li><a href="">Facere.</a></li>
                    <li><a href="">Quibusdam.</a></li>
                    <li><a href="">Repudiandae?</a></li>
                    <li><a href="">A!</a></li>
                    <li><a href="">Alias!</a></li>
                    <li><a href="">Illo.</a></li>
                    <li><a href="">Ab!</a></li>
                    <li><a href="">Sunt.</a></li>
                    <li><a href="">Dolorem.</a></li>
                    <li><a href="">Recusandae?</a></li>
                    <li><a href="">Voluptatem!</a></li>
                    <li><a href="">Hic?</a></li>
                </ul>
        </div>
        <div class="choose-item clearfix no-line"> 
            <div class="left">年代:</div>
            <div class="right"> 
                       <!-- ul>li*20>a>lorem1 -->
                       <ul>
                        <li><a href="">Lorem.</a></li>
                        <li><a href="">Minima!</a></li>
                        <li><a href="">Nesciunt?</a></li>
                        <li><a href="">A.</a></li>
                        <li><a href="">Dolore?</a></li>
                        <li><a href="">Aliquam.</a></li>
                        <li><a href="">Omnis!</a></li>
                        <li><a href="">Nisi!</a></li>
                        <li><a href="">Facere.</a></li>
                        <li><a href="">Quibusdam.</a></li>
                        <li><a href="">Repudiandae?</a></li>
                        <li><a href="">A!</a></li>
                        <li><a href="">Alias!</a></li>
                        <li><a href="">Illo.</a></li>
                        <li><a href="">Ab!</a></li>
                        <li><a href="">Sunt.</a></li>
                        <li><a href="">Dolorem.</a></li>
                        <li><a href="">Recusandae?</a></li>
                        <li><a href="">Voluptatem!</a></li>
                        <li><a href="">Hic?</a></li>
                    </ul>
    </div>
 </div>
</div>

</div>
<div class="movies">
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">断桥</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>
    <div class="movie-item">
        <div class="poster"><a href=""><img src="./img/test1.jpg" alt=""></a></div>
        <div class="name"><a href="">电影名字123</a></div>
        <div class="score">9.4</div>
    </div>

<div class="movie-item">
    <!-- div.movie-item*30>(div.poster>a>img[src="./img/test1.jpg"])+(div.name>a>{电影名字})+(div.score>{9.4}) -->
    <div class="poster">
        <a href="">
            <img src="./img/test1.jpg" alt="">
        </a>
    </div>
    <div class="name">
        <a href="">
            断桥
        </a>
    </div>
    <div  class="score">
        9.4
    </div>
</div>
</div>
<div class="pager">
    <a href="">
        上一页
    </a>
    <a href="" class="select">1</a><a href="">2</a><a href="">3</a><a href="">4</a><a href="">5</a>
    <a href="">
        下一页
    </a>
</div>
</div>

</div>
</body>
</html>

2、movie.css

body{
    color:#333;
}
.clearfix::after{
    content:"";
    display:block;
    clear:both;
}
.main{
    line-height: 1.5;
}
.main .nav{
    height:60px;
    background-color: #47464a;
    color:#999;
    text-align: center;
    line-height: 60px;
}
.mian .nav a{
    margin:0 38px;
}
.main .nav a:hover{
    color:#fff;
}
.main .nav a.select{
    color:#ef4238;
}
.main .container{
    width:1120px;
    margin:0 auto;
}
.main .container .choose-area{
    border:1px solid #e5e5e5;
    margin:40px 0;
    font-size:14px;
    line-height:30px;
    padding:0 30px;
}
.main .container .choose-area .choose-item{
    margin:1em 0;
    border-bottom:1px dotted #e5e5e5 ;
}
.main .container .choose-area .choose-item.no-line{
    border:none;
}
.main .container .choose-area .choose-item .left{
   float:left;
    /* width:60px;
    text-align: right; */
    color:#999;
}
.main .container .choose-area .choose-item .right{
  float:left;
  width:1000px;
}
.main .container .choose-area .choose-item .right li{
    float:left;
    margin:0 9px;
    padding:0 6px;
}
.main .container .choose-area .choose-item .right li:hover{
    color:#ef4238;
}
.main .container .choose-area .choose-item .right li.select{
    background: #ef4238;
    color:#fff;
    /* css圆角边框 */
    border-radius: 15px;
}
.main .container .movies .movie-item{
    float:left;
    width:160px;
  
    margin:10px 28px 10px 0;
}
/* 伪类选择器 */
.main .container .movies .movie-item:nth-child(6n){
    margin-right:0;
}
.main .container .movies .movie-item .poster img{
    width:160px;
    height:220px;
}
.main .container .movies .movie-item .name{
    white-space:nowrap;
    overflow:hidden;
    text-overflow: ellipsis;
    padding:0 2px;
    text-align: center;
}
.main .container .movies .movie-item .score{
    color:#ffb400;
    text-align: center;
    line-height:2.5;
    font-style:italic;

}
.main .container .movies .movie-item .score::first-letter{
    font-size: 1.5em;
}

3、common.css

/* 多页面的公共样式 */
.pager{
    margin:2em 0;
    text-align: center;
    
}
.pager a{
    border:1px solid #d8d8d8;
    padding:5px 10px;
    margin:0 2px;
}
.pager a:hover{
    border-color:#ef4238;

}
.pager a.select{
    background:#ef4238;
    color:#fff;
    border:none;
}

4、reset.css

/*通用的  */
h1{
    font-size:1em;
    font-weight:normal;
}

ol,
ul{
    list-style:none;
}
blockquote,
q{
    quotes:none;
}
blockquote:before,
blockquote:after,
q::before,
q::after{
    content:'';
    content:none;
}

table{
    border-collapse: collapse;
    border-spacing: 0;

}
a{
    text-decoration:none ;
    color:inherit;
}

5、效果

在这里插入图片描述
http://127.0.0.1:5500/CSS/12.%E6%B5%AE%E5%8A%A8/movie.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值