大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
clear属性只会影响使用它的元素,具体可以看我的这篇文章:
http://blog.csdn.net/liujan511536/article/details/50086275
当我们给一个元素加上:after时,就是在这个元素内容的后面加上新的内容,
如:
<html>
<head>
<title></title>
<style type="text/css">
#demo:after
{
content:"--good"
}
</style>
</head>
<body>
<div id="demo">hello world</div>
</body>
</html>
但是,这个新加上的内容是加在demo元素里面的,而不是在demo元素后面,相当于在demo元素
里面创建一个子元素,然后将其内容设置为–good。
所以当要消除本元素浮动给后面元素带来影响时,可以用:after{clear:both},但是不能把after加在浮动元素上,例如下面的例子是不能清楚浮动的影响的:
<html>
<head>
<title>float 4</title>
<style type="text/css">
div#div1
{
width: 80px;
height: 80px;
background-color: yellow;
float: left;
}
div#div1:after
{
clear: both;
}
div#div2
{
width: 100px;
height: 80px;
background-color: green;
}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>
因为这时候div1浮动,after相当于在div1里面创建一个子元素,然后把该子元素的clear属性设为both,子元素是不能消除父元素的浮动影响的。
为了达到消除浮动的效果,我们需要在div1后面(也就是div1和div2之间)创建一个新元素,然后将新元素
的clear属性设置为both,如下:
<html>
<head>
<title>float 4</title>
<style type="text/css">
div#div1
{
width: 80px;
height: 80px;
background-color: yellow;
float: left;
}
div#div3
{
clear:both;
}
div#div2
{
width: 100px;
height: 80px;
background-color: green;
/*float: left;*/
}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div3"></div>
<div id="div2"></div>
</body>
</html>
又因为after是在当前元素的里面创建一个子元素的,所以其实我们可以在浮动元素外面加上一层div(也就是给浮动元素加上父元素div),然后这时候父元素的after就是在父元素里面创建一个子元素,也就是在浮动元素后面创建一个相邻元素了。然后我们在把父元素的after clear设置为both就可以了,如下:
<html>
<head>
<title>float 4</title>
<style type="text/css">
div#div1
{
width: 80px;
height: 80px;
background-color: yellow;
float: left;
}
.clearfix:after
{
content: " ";
font-size:0px;
display: block;
clear: both;
visibility: visible;
}
div#div2
{
width: 100px;
height: 80px;
background-color: green;
/*float: left;*/
}
</style>
</head>
<body>
<div class="clearfix">
<div id="div1"></div>
</div>
<div id="div2"></div>
</body>
</html>
注意这是的content一定要写,否则浮动也不会清除。
为了兼容IE,建议加上下面的语句:
.clearfix
{
zoom:1;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197468.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...