关于CSS中的float可能出现的小问题
关于CSS中的float可能出现的小问题
- 前言:最近学习CSS的float所遇到点小问题,然后顺便分享给大家。
一、什么是CSS以及float
(一) CSS概述
CSS是层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
(二) float概述
float属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
二、float可能出项的问题
(一) 当没有父级块明确的边界时,float可能没有预想的效果
1.没有明确的边界
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>floatTest</title>
<style type="text/css">
#d1 {
float: left;
width: 100px;
height: 100px;
background-color: red;
} #d2 {
float: left;
width: 100px;
height: 100px;
background-color: green;
} #d3 {
float: left;
width: 100px;
height: 100px;
background-color: blue;
}
</style>
</head> <body>
<div style="width:auto; border:solid 1px black;">
<!--<div style="width: 300px;height: 300px;border: solid 1px black;">-->
<div id="d1">
d1
</div>
<div id="d2">
d2
</div>
<div id="d3">
d3
</div>
</div> </body> </html>
浮动前

浮动后

2.有明确的边界时
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>floatTest</title>
<style type="text/css">
#d1 {
float: left;
width: 100px;
height: 100px;
background-color: red;
} #d2 {
float: left;
width: 100px;
height: 100px;
background-color: green;
} #d3 {
float: left;
width: 100px;
height: 100px;
background-color: blue;
}
</style>
</head> <body>
<!--<div style="width:auto; border:solid 1px black;">-->
<div style="width: 200px;height: 200px;border: solid 1px black;">
<div id="d1">
d1
</div>
<div id="d2">
d2
</div>
<div id="d3">
d3
</div>
</div> </body> </html>
浮动前

浮动后

3.总结
在选择需要进行浮动操作的时候,一定要明确浮动的边界,这样才能出想要的效果。
(二) 对div块的设定导致的问题
1.div范围定义较小
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>floatTest</title>
<style type="text/css">
.divs {
/*float: right;*/
} .divs div {
float: right;
} #d1 {
width: 100px;
height: 100px;
background-color: red;
} #d2 {
width: 100px;
height: 100px;
background-color: green;
}
</style>
</head> <body>
<div style="width: 700px;height: 700px;border: solid 1px black;">
<div style="width: 200px;height: 200px;border: solid 1px black;" class="divs">
<div id="d1">
d1
</div>
<div id="d2">
d2
</div>
</div>
</div> </body> </html>
浮动前

浮动后

2.合理的div块定义
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title>floatTest</title>
<style type="text/css">
.divs {
float: right;
} .divs div {
/*float: right;*/
} #d1 {
width: 100px;
height: 100px;
background-color: red;
} #d2 {
width: 100px;
height: 100px;
background-color: green;
}
</style>
</head> <body>
<div style="width: 700px;height: 700px;border: solid 1px black;">
<div style="width: 200px;height: 200px;border: solid 1px black;" class="divs">
<div id="d1">
d1
</div>
<div id="d2">
d2
</div>
</div>
</div> </body> </html>
浮动前

浮动后

3.总结
当我们将整个divs块下的元素都进行了右浮动,但是我们以为这就是将divs块进行了移动,但是其实只是d1和d2块在divs块中进行了移动,divs块并没有动,所以当我们要移动一整块的divs和分别移动的效果是完全不一样的,所以一定要注意这样的小细节。
关于CSS中的float可能出现的小问题的更多相关文章
- css中的float属性以及清除方法 (2011-09-03 17:36:26)
CSS里面的浮动属性是布局的常用工具,只有真正了解它并熟练使用才能将它的优点发挥到极致. 许多页面中都有文字绕图效果,并且各区块分布得错落有置,很多朋友在自学CSS布局时为了做出这些效果往往会被div ...
- 如何理解css中的float
最近一段时间一直在为一个即将上线的新站进行一些前端开发.自然,对CSS的使用是必不可少的了.我们在CSS 中很多时候会用到浮动来布局.常见的有 float:left 或者 float:right .简 ...
- css 中 的 float :left 和 clear :both
float:left;(左浮动)他使得指定元素脱离普通的文档流而产生的特别的布局特性.并且FLOAT必需应用在块级元素之上,也就是说浮动并不应用于内联标签.或者换句话来说当应用了FLOAT那么这个元素 ...
- css 中的背景图片小技巧和存在的坑
body 的背景图设置 第一种 :这种情况下背景图片可以缩放 但是不能完全等比缩放 background: url(imgs/1.jpg)no-repeat; background-position: ...
- [转][译]关于CSS中的float和position和z-index
原文:http://learn.shayhowe.com/advanced-html-css/detailed-css-positioning 当构建页面排版时,有不同的方法可以使用.使用哪一种方法取 ...
- css中的几个小tip(二)
margin的塌陷现象 (一)在标准文档流中, 垂直方向存在margin的塌陷现象 先上段代码: <style type="text/css"> .box{ width ...
- 文档流 css中的float clear与布局
文档流 先说说什么是文档流 流是什么 就是一串连续的东西 <div style="background-color:pink;width:40px;height:80px;" ...
- [译] 关于CSS中的float和position
原文 http://learn.shayhowe.com/advanced-html-css/detailed-css-positioning 当构建页面排版时,有不同的方法可以使用.使用哪一种方法取 ...
- CSS中的float和margin的混合使用
在最近的学习中,在GitHub上找了一些布局练习,我发现了我自己对布局超级不熟悉(很难受). 在以前的学习中,感觉使用CSS就记住各个属性的功能就OK了,但是呢?真的很打脸.不说了,太伤心了,进入正题 ...
随机推荐
- NFS配置及开机自动挂载
环境:Red Hat 6.7 服务端:192.168.163.128 客户端:192.168.163.131 背景:解决多个服务器之间数据共享 环境检查: 1.检查服务器是否安装nfs服务 rpm ...
- 【LOJ】#2509. 「AHOI / HNOI2018」排列
题解 虽然要求一个dfs序,但是不是从根开始贪心 从最小的点开始贪心,最小的点显然是父亲选了之后马上就选它 那么我们每次把最小的点和父亲合并,两个联通块之间也是如此 对于两个联通块,他们合并的顺序应该 ...
- ubuntu下安装python3及常用爬虫库命令
爬虫常用库安装:
- IntellijIDEA快速入门(Windows版)
跟随公司变更技术堆栈的步伐,开始学习相应工具IntelliJ的使用,之前一个大神同时也提到,最近该IDE的市场份额已然超越了免费的Eclipse,因此该工具已经到了必须会的程度了. 新年快乐,鸡年大吉 ...
- WebSocket In ASP.NET Core(一)
.NET-Core Series Server in ASP.NET-Core DI in ASP.NET-Core Routing in ASP.NET-Core Error Handling in ...
- ADSL
ADSL属于DSL技术的一种,全称Asymmetric Digital Subscriber Line( 非对称数字用户线路),亦可称作非对称数字用户环路.是一种新的数据传输方式. ADSL技术提供的 ...
- 不同浏览器的userAgent
一.IE浏览器 //IE6 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" //IE7 "Mozill ...
- mysql索引原理剖析
一.索引的原理 所谓索引,即是快速定位与查找,那么索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(B+树相比B树,其非叶子节点占用更小的空间,可以有更多非叶子节点存放在再内存中,减少大量的IO ...
- letter-spacing造成文字无法居中的问题
在使用letter-spacing增加字体间距时,发现字体间距被扩大的同时,字体无法完全居中在div中,如下: 原因:letter-spacing是在字中间产生的间隔,第一个字旁边没有间隔,所以导致不 ...
- pygame系列_font游戏字体_源码下载
在pygame游戏开发中,一个友好的UI中,漂亮的字体是少不了的 今天就给大伙带来有关pygame中字体的一些介绍说明 首先我们得判断一下我们的pygame中有没有font这个模块 if not py ...