cssfloat css浮动属性float详解
今天给各位分享cssfloat的知识,其中也会对css浮动属性float详解进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
CSS中float属性怎么使用
使用CSS中的float属性可以将应用的元素从原本的位置移动到左上或向右移动。不适用于float的内部元素,如文本等会被设置在float元素的周围。
我们来看float的具体使用方法
float属性描述如下
float:值;值的部分有以下几个
none:不指定元素的位置。(初始值)
left:把元素移到左边。
right:把元素移到右边。
另外,如果值是inherit的话,会继承父元素float的值
如果在同一元素中设置了position属性的初始值(static)以外的值的话,就不能使用float属性。
如果要将float属性应用于块元素的话,必须先设置width属性的宽度。
如果想清除floate属性的话,在clear属性中输入相同值(比如float输入left就输入left、float输入right就输入right)。另外,clear输入both的值的话,两边都可以清除。
下面我们来看float属性应用的具体示例
首先我们来看float:left;
在宽度为170px,高度为100px的盒子中设置图像和文字,在图像上设置float属性为left时的例子。
代码如下:
HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" rel="external nofollow" rel="external nofollow" href="sample.css">
</head>
<body>
<p class="content1"><img src="img/mouse.png" alt="图像" style="width: 45px;height: 45px">
在图像上使用float:left的例子:文字在右侧显示,剩下部分的文字在图像的下面被显示</p>
</body>
</html>CSS代码
p.content1{background-color:#b0e0e6; width: 170px; height: 100px;}
img{float: left;}在浏览器上显示如下效果
图像在左侧显示,文字环绕在图像右侧和下侧。
然后我们再来看float:right;
代码如下
HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" rel="external nofollow" rel="external nofollow" href="sample.css">
</head>
<body>
<p class="content1"><img src="img/mouse.png" alt="图像" style="width: 45px;height: 45px">
在图像上使用float:right的例子:文字在左侧显示,剩下部分的文字在图像的下面被显示</p>
</body>
</html>CSS代码
p.content1{background-color:#b0e0e6; width: 170px; height: 100px;}
img{float: right;}在浏览器上显示如下效果
图像在右侧显示,文字围绕在图像左侧和下侧。
CSS float浮动布局
属性值
float是最开始出现的一种布局方式,主要解决:文本在图像周围环绕,也即应用于图像。但是在css中,任何元素都可以浮动,浮动元素会生成一个块级框,而不论它本身是何种元素。
元素一般是处于普通流中,也即块级元素独占一行,从上往下依次显示布局。行级元素可以在一行显示多个,按照顺序进行显示布局。
而添加了 float布局的元素则会脱离原来所在的文档流。并‘漂浮’在当前所在的文档流的位置(如果前一个元素没有添加 float布局的情况下),由于当前元素文档流实际上没有被元素占用,因此当前元素之后的元素会按照普通流布局的方式,占用当前元素的文档流。表现为:丢失空间
也即:
此时由于第一个元素添加了 float:left,则脱离了原来的文档流,后面元素会向上移动,占用第一个元素的空间。
如果第二个元素也添加了 float,那么可以这样去思考,由于第一个元素的原因,第二个元素所处的文档流变成了第一个元素所处的文档流,此时再给第二个元素添加 float,那么也会像第一个元素一样,脱离当前的文档流,使得当前元素和第一个元素一样处于'漂浮'状态,并紧跟着第一个元素显示一排。
同样,如果第二个元素后面还有其他元素,那么也会向上移动,改变原来所处的文档流位置。
注意:添加了 float的元素,只是在会脱离当前所在的文档流,但是仍然漂浮在当前文档流上一层,而不是说直接脱离整个文档流,跑到所有文档流的最顶部。
从上面案例可以看出,添加了浮动的元素会影响其后元素的布局。此外由于元素脱离原来的文档流,且父盒子没有添加高度属性,那么父盒子无法感知到子盒子的存在,因此父盒子不会被撑开。
知道了 float带来的不好的地方,则需要去清除浮动带来的影响。
方法一:采用css clear属性
将该属性添加在被浮动影响的后面元素,即可以清除浮动
则受浮动影响的元素就可以正常显示了
因此在受浮动影响的父元素,就可以利用此方法,在浮动元素之后新增加一个元素,使新增加的元素清除浮动,这样新增加的元素的位置就在浮动元素的下面,使得在一定程度上实现了撑开盒子的作用。
方法二:BFC
其次还可以采用BFC,使得父元素形成独立的空间,也即可以感知子元素的高度和宽度,在一定程度上也不会影响外面的元素的布局。
浮动元素边界不能超过父元素的padding
元素浮动后会变为块元素包括行元素如 span,所以浮动后的元素可以设置宽高。
通过形状浮动可以让内容围绕图片,类似于我们在word中的环绕排版。要求图片是有透明度的PNG格式。
shape-outside定义了一个可以是非矩形的形状,相邻的内联内容应围绕该形状进行包装。默认情况下,内联内容包围其边框, shape-outside提供了一种自定义此包装的方法,可以将文本包装在复杂对象周围而不是简单的框中。
理解:使用形状值来定义浮动区域的浮动,这将使得内联内容会环绕着形状,而不是产生浮动的边框。
关键字属性值
函数值属性
url值
文字通过给定的图片,并且通过计算图片的透明度后获取的形状区域进行围绕,这里需要注意的是此效果必须在服务器端预览,本地预览会报图片跨域问题,给定的图片必须是有透明区域的图片
渐变值
按照给定的渐变通过计算排除透明通道后得到的形状,然后文字按照此形状的边缘进行环绕
最后:函数值/url/linear-gradient可以和关键字属性值搭配使用,此时关键字属性作为基本形状提供相应的参考框盒。
clip-path使用裁剪方式创建元素的可显示区域。区域内的部分显示,区域外的隐藏。且此方式原来的区域仍然存在,只是显不显示的问题。裁剪之后只有规定的区域可以显示。
基本语法
其中:
谁能说下CSS中的float定位怎么用
CSS中的float浮动属性,一般用于标签对象(例如:<div>标签盒子、<span>标签、<a>标签、<em>标签等html标签)的浮动布局,而浮动也就是我们常说的标签对象居左靠左和居右靠右)。同时float浮动属性一般只对块级元素有效。“块级元素你可以通俗的理解为占一行并且大小可以控制的元素”。
float的属性值:left(靠左浮动),right(靠右浮动),none(不使用浮动,为默认值)
float属性的使用案例:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8"/>
<title></title>
<styletype="text/css">
.divcss5{width:400px;padding:10px;border:1pxsolid#F00}
.divcss5_left{float:left;width:150px;border:1pxsolid#00F;height:50px}
.divcss5_right{float:right;width:150px;border:1pxsolid#00F;height:50px}
.clear{clear:both}
</style>
</head>
<body>
<divclass="divcss5">
<divclass="divcss5_left">布局靠左浮动</div>
<divclass="divcss5_right">布局靠右浮动</div>
<divclass="clear"></div><!--清除float产生浮动-->
</div>
</body>
</html>运行效果:
好了,文章到此结束,希望可以帮助到大家。