css中的float属性以及清除方法 (2011-09-03 17:36:26)
许多页面中都有文字绕图效果,并且各区块分布得错落有置,很多朋友在自学CSS布局时为了做出这些效果往往会被div只能独占一行的默认样式搞的头大,但使用了浮动属性,布局就变得简单、美观了。
任何元素都可以被浮动,段落标签<p>、<div>、<table>、<img>,甚至<span>、<b>、<h1>等等都可以,而且所有被定义为浮动的元素都会被自动变为“块状元素”,也就是我们先前讲过的“盒装模型”,也就是代表它可以定义宽度和高度了。
浮动float的定义方法
CSS中浮动属性的定义是通过float来声明的,它规定了元素是向左靠还是向右靠,有三个值:
- left:居左;
- right:居右;
- none:默认属性,不浮动。
下面我们举个例子:
<div style="float:right;width:100px;height:100px;">
<p style="float:right;width:50px;background:#F00;">文字</p>
</div>
上面的例子将最外面的div置于右方,将内部的段落也置于div内部右方,就这样做到了内容的浮动。
水平浮动的层叠
如果将A元素居左放置在页面最左端,在它的后面跟随一个居左浮动的B元素,那么B元素就是贴着A元素排列的,以此类推,在水平宽度允许的条件下,可以放置多个居左浮动的元素,直到宽度没有多余的空间时,居左浮动的元素会绕到下一行的左侧显示。
举例:
html代码如下:
<ul>
<li>float01</li>
<li>float02</li>
<li>float03</li>
<li>float04</li>
<li>float05</li>
<li>float06</li>
<li>float07</li>
<li>float08</li>
</ul>
CSS代码:
ul {
width:500px;
background:#000;
padding:5px;
}
li {
float:left;
border-right:1px solid #000;
height:20px;
padding-right:100px;
background:#FFF;
margin-bottom:1px;
}
以上代码的显示效果应该是一排水平排列的<li>,在超出宽度时,会折行显示,为了分清界限,我给它定义了一条右边线。
这种思路就是布局、列表排列的雏形。
清除属性-clear
吃了毒药,就一定要有解药。学会了怎样使用浮动属性,那必须学会怎样清除浮动。
清除属性通过clear来声明,它同样有四个值:
- clear:left;清除左侧。
- clear:right;清除右侧。
- clear:both;清除两侧。
- clear:none;不清除。
clear要达到的效果是,一个被清理的盒状元素无法与前置浮动保持在同一个水平位置上。它必须出现在其下方。
举例说明一下:
<div style="float:left; background:#F00;">顶部第一个div向左浮动,无清除效果</div>
<div style="clear:right;">第二个div清除右侧内容</div>
<div style="float:left;">第三个div,无清除效果,居左浮动</div>
<div style="float:left;">第四个div,无清除效果,居左浮动</div>
看看上面这个例子,也许你会明白一点,如果想让第二个div单独处于一行,只要把clear的属性值改为both即可。
一般情况下,清除功能可以达到预想效果,但是有时会出现些小的错误,这通常是浏览器的差别造成的,以后我会教大家如何弥补这些小错误。
0
喜欢
0
赠金笔
css中的float属性以及清除方法 (2011-09-03 17:36:26)的更多相关文章
- CSS基础(float属性与清除浮动)
3.8 这是CSS里比较重要的属性:浮动,这个属性会在以后经常用到,算是一个重点吧 浮动 语法:float:left | right | none 特点: 浮动的元素不占位置,脱离了标准文档流 ...
- CSS中隐藏内容的3种方法及属性值
CSS中隐藏内容的3种方法及属性值 (2011-02-11 13:33:59) 在制作网页时,隐藏内容也是一种比较常用的手法,它的作用一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出 ...
- 深入理解css中的margin属性
深入理解css中的margin属性 之前我一直认为margin属性是一个非常简单的属性,但是最近做项目时遇到了一些问题,才发现margin属性还是有一些“坑”的,下面我会介绍margin的基本知识以及 ...
- 理解与应用css中的display属性
理解与应用css中的display属性 display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有: none block inline inline-block inherit 下面, ...
- CSS中的display属性(none,block,inline,inline-block,inherit)
css中的display属性(none,block,inline,inline-block,inherit) display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有: none bl ...
- CSS中隐藏内容的3种方法
CSS中隐藏内容的3种方法 一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等. 1.使用display:none来隐藏所有内容 display:none可 ...
- C++:调整基类成员在派生类中的访问属性的其他方法(同名成员和访问声明)
4.3 调整基类成员在派生类中的访问属性的其他方法 4.3.1 同名函数 在定义派生类的时候,C++语言允许在派生类中说明的成员与基类中的成员名字相同,也就是 说,派生类可以重新说明与基类成员同名的成 ...
- CSS中的!important属性用法
关于CSS的运用技巧有很多, 今天主要探讨一下CSS中 !important 这个属性的用法.在CSS的使用中,遇到最多的问题就是不同浏览器之间的兼容问题. 由于IE并不严格执行W3C标准, 而又几乎 ...
- 关于CSS中的float可能出现的小问题
关于CSS中的float可能出现的小问题 前言:最近学习CSS的float所遇到点小问题,然后顺便分享给大家. 一.什么是CSS以及float (一) CSS概述 CSS是层叠样式表(英文全称:Cas ...
随机推荐
- 在cmd下可以import cv2,而Pycharm报错:找不到cv2
平台:win10 x64+Pycharm+Anaconda3+opencv 安装教程:参考博客——http://blog.sina.com.cn/s/blog_cca23c300102xiy4.htm ...
- 75.iOS内存管理
堆区和栈区 1.栈区:由编译器自动分配释放,函数的参数值,局部变量等值 2.堆区:一般由开发人员分配释放,若不释放,则可能会引起内存泄漏 NSString *string = @"abcd& ...
- ABP框架系列之四十八:(Specifications-规范)
Introduction Specification pattern is a particular software design pattern, whereby business rules c ...
- 2019swpuj2ee作业一:C/S,B/S的应用的区别
1.硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, ...
- JAVA核心问题(一)反射之引言 构造函数
反射,简单来说,就是在运行时获取Class对象的所有属性和方法,无论公有私有.虽然是一个基础问题,在这里还是全面的记录一下,认真对待! 获取构造函数 构造函数大致分为两种,public和非public ...
- 【论文学习】YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
原文下载:https://arxiv.org/pdf/1612.08242v1.pdf 工程代码:http://pjreddie.com/darknet/yolo/ 目录 目录 摘要 简介 BETTE ...
- 玩玩vs Git 中国版 Gitee
下载vs 下载 Gitee.VisualStudio.vsix https://gitee.com/GitGroup/CodeCloud.VisualStudio/attach_files 去git ...
- Android开发工程师文集-1 小时学会SQLite
前言 大家好,给大家带来Android开发工程师文集-1 小时学会SQLite的概述,希望你们喜欢 内容 什么是Sqlite: 效率高,开源,小型,程序驱动,支持事务操作,无数据类型,可嵌入的关系型数 ...
- ASP.NET MVC 异常Exception拦截
一.前言 由于客户端的环境不一致,有可能会造成我们预计不到的异常错误,所以在项目中,友好的异常信息提示,是非常重要的.在asp.net mvc中实现异常属性拦截也非常简单,只需要继承另一个类(Syst ...
- LeetCode:145_Binary Tree Postorder Traversal | 二叉树后序遍历 | Hard
题目:Binary Tree Postorder Traversal 二叉树的后序遍历,题目要求是采用非递归的方式,这个在上数据结构的课时已经很清楚了,二叉树的非递归遍历不管采用何种方式,都需要用到栈 ...