CSSでフロートをクリアする方法

一个新手
リリース: 2017-10-24 09:06:53
オリジナル
1615 人が閲覧しました

css中的float:

float:left  左浮动

float:right  右浮动

float:none 不浮动

float:inherit 继承浮动(继承父元素浮动属性,如果父元素无浮动属性,inherit失效)

浮动产生哪些问题:1.父元素塌陷,没有高度。2.网页中的临近元素出现异位

清除浮动的几种方法:

1.手动给父元素添加高度  缺点:如果子元素过多且数量不确定,设置较为复杂。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>清除浮动</title>
    <style type="text/css">
  /*给父级元素添加高度 */
  *{
    padding:0;
    margin:0;
  }
   .news {
   background-color: red;
   border: solid 1px black;
   height:200px;   /*设置高度,如果去掉高度元素塌陷*/      
    } 

 .news img {
  float: left;
  }

 .news p {
  float: right;
  }
  
    </style>
</head>
<body>
  <div>
    <img src="1.jpg" />
    <p>some text</p>
  </div>
</body>
</html>
ログイン後にコピー

2.用clear属性

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>清除浮动</title>
    <style type="text/css">
  /* 清除浮动 clear*/
  *{
    margin:0;
    padding:0;
  }
.news {
  background-color: red;
  border: solid 1px black;
  }

.news img {
  float: left;
  }

.news p {
  float: right;
  }

 .content{
  clear:both;/*两边都清除浮动*/
  } 
    </style>
</head>
<body>
 
<div>
<img src="1.jpg" />
<p>some text</p>
<div></div>
</div>
</body>
</html>
ログイン後にコピー

3.给父元素添加overflow属性并结合zoom:1使用

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>清除浮动</title>
    <style type="text/css">
    /* 给父级元素添加overflow:hidden; */
    *{
         margin:0;
         padding: 0;
     }
 .news {
  background-color: red;
  border: solid 1px black;
  overflow: hidden; /*溢出隐藏*/
  zoom:1;/*兼容IE浏览器*/
  }

.news img {
  float: left;
  }

.news p {
  float: right;
  }
    </style>
</head>
<body>
    <div>
    <img src="1.jpg" />
    <p>some text</p>
</div>
</body>
</html>
ログイン後にコピー

4.给父级元素添加浮动 缺点:相邻元素位置异常

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>清除浮动</title>
    <style type="text/css">
  /* 给父级元素添加浮动 */
  *{
    margin:0;
    padding:0;
  }
 .news {
  background-color: red;
  border: solid 1px black;
  float: left;  /* 给父级元素添加浮动 */
  }

.news img {
  float: left;
  }

.news p {
  float: right;
  }
    </style>
</head>
<body>
    <div>
    <img src="1.jpg" />
    <p>some text</p>
</div>
</body>
</html>
ログイン後にコピー

5.使用:after伪元素

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>清除浮动</title>
    <style type="text/css">
  /* 使用伪元素:after添加浮动 */
  *{
    margin:0;
    padding:0;
  }
 .news {
  background-color: red;
  border: solid 1px black;
    }
.news img {
  float: left;
  }
.news p {
  float: right;
  }
  .clearfix:after{
    content: "\0020";/*在父容器的结尾处放一个空白字符*/
    display: block;
    height: 0; /*让这个空白字符不显示出来*/
    clear: both;
  }
  /* 兼容IE6和IE7,触发haslayout */
  .clearfix{
    zoom:1; 
  } 
    </style>
</head>
<body>
    <div class="news clearfix">
    <img src="1.jpg" />
    <p>some text</p>
</div>
</body>
</html>
ログイン後にコピー

以上がCSSでフロートをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート