十一天

导航

CSS基础(二)浮动

全文手打,转载请注明出处

全文手打,转载请注明出处

全文手打,转载请注明出处

一)CSS浮动

浮动:使块级标签不独占一行,把多个块级标签排列在一行上。

float属性值:left    right    none(默认值不浮动)

<style>
  .wrapper {
    width:600px;
    margin:0 auto;      //居中
    border:1px solid #666;
  }
  .box1,.box2 {
    width:200px;
    height:150px;
  }
  .box1 {
    background-color:#f00;
    float:left;                                           //加浮动float后,可以使块级标签不独占一行
  }
  .box2 {
    background-color:#ff0;
    float:right;
  }
</style>


<div class="wrapper">
  <div class="box1">box1</div>             //div属于块级标签会独占一行
  <div class="box2">box2</div> 
</div>

 

二)浮动原理

让元素脱离文档流,不占有标准流

<style>
  .wrapper {
    width:600px;
    margin:0 auto;
    border:1px solid #666;
  }
  .box1,.box2,.box3 {
    width:200px;
    height:150px;
  }
  .box1 {
    background-color:#f00;
    float:left;                                         
  }
  .box2 {
    background-color:#ff0;
    float:right;
  }
  .box3 {
    background-color:#fff;//浮动后,后面的元素不管是块级元素还是行级元素,不会显示在下一行
  }
</style>


<div class="wrapper">
  <div class="box1">box1</div>            
  <div class="box2">box2</div> 
  <div class="box3">box3</div> 
</div>

 

三)清除浮动

目的:让后面的元素自动掉到下一行

方法一:添加空标签,并设置样式:

                 clear:left:清除左浮动

                 clear:right:清除右浮动

                 clear:both:清除左右浮动

                 clear:none:左右浮动都不清除

首选:方法二:要清除浮动的父级添加样式:overflow:hidden;

方法三:要清除浮动的父级添加伪元素 :after,并设置样式

                  父元素:after {

                      content:"";
                      display:block;
                      clear:both;

                  }

<style>
  .wrapper {
    width:600px;
    margin:0 auto;
    border:1px solid #666;
  }
.wrapper:after { //方法三:父级添加伪元素
content:"";
display:block;
clear:both;
} .box1,.box2,.box3 { width:200px; height:150px; } .box1 { background-color:#f00; float:left; } .box2 { background-color:#ff0; float:right; } .clear { clear:both; //方法一:清除浮动 } .box3 { background-color:#fff;//浮动后,后面的元素不管是块级元素还是行级元素,不会显示在下一行 } </style> <div class="wrapper"> <div class="box1">box1</div> <div class="box2">box2</div> <div class="clear"></div> //方法一:清除浮动 <div class="box3">box3</div> </div>

<div class="wrapper" style="overflow:hidden;"> //方法二:父级添加样式
  <div class="box1">box1</div>           
  <div class="box2">box2</div>
</div>
  <div class="box3">box3</div>

 

四)练习:浮动布局

.info-show{
  width: 600px;          //实际开发不给高度
  padding: 20px;          //边框
  border: 1px solid #ccc;
  margin: 0 auto;
}
.head-sculpture{
  float: left;
  text-align: center;        //合二为一
  margin-right: 20px;
}
.head-sculpture .photo{
  width: 200px;
  height: 300px;
  border: 1px solid #ccc;
  //text-align: center;            //文本居中
  display: table-cell;
  vertical-align: middle;       //垂直居中
}
.head-sculpture .name{
  //text-align: center;     
}
.description{
  width: 350px;
  height: 290px;
  border: 1px solid #ccc;  
  float: left;
  padding: 10px 0 0 20px;     //上 右 下 左
}


<div class="info-show">
  <div class="head-sculpture">
    <div class="photo">头像</div>
    <div class="name">姓名</div>
  </div>
  <div class="description">描述</div>
</div>

 

posted on 2020-09-03 17:45  十一天  阅读(135)  评论(0编辑  收藏  举报