css细节复习笔记——浮动

CSS除了能够改变字体、背景和所有其他属性,还能够完成基本布局任务。

div+css通过浮动和定位、盒子模型等技术应用,是最常用的布局方式。

定位的基本思想很简单,它允许定义元素框相对于其正常位置应该出现在哪里,或者相对于父元素,另一个元素甚至浏览器窗口本身的位置。

另一方面,css1提出浮动。浮动不完全是定位,不过,他当然也不是正常流布局。

浮动

声明<img src ="b5.jpg" align="right">会导致一个图像浮动到右边,而允许其他内容(文本)“围绕”该图像。css允许浮动任何元素,从图像到段落再到列表,所有元素都可以浮动,使用属性float实现。

因此,上述代码还能写作<img src ="b5.jpg" style="float:left">。

浮动元素

对于浮动元素,有几点要记住。首先,会以某种方式将浮动元素从文档的正常流中删除,影响布局。一个元素浮动是,其他内容会“环绕”该元素。

注意,浮动元素周围的外边距不会合并。如果浮动一个有20像素外边距的图像,在这个图像将至少有20像素的空间。如果其他元素与此图像响铃,而且都有外边距,那么这些外边距不会与浮动图像的外边距合并。

如果确实要浮动一个非替换元素,则必须为该元素声明一个width,否则,浮动段落可能只有1个字符宽。

不浮动

除了left和right外,float属性还有一个值。float:none用于防止元素浮动。也许不会认为,如果让一个元素不浮动,就不声明float,实际上,要得到正常的非浮动元素,必须有这个值,不然所有元素都会以某种方式浮动。

浮动的详细内幕

深入讨论浮动的详细内容之前,首先要建立包含块的概念。浮动元素的包含块是最近的块级祖先元素。因此,在以下标记中,浮动元素的包含块就是包含该浮动的段落元素:

<h1>Test</h1>
 <p><img src ="U54.jpg" style ="float:right;border:1px solid #000">
     This is paragraph text,but you knew that. Whthin the content of this paragraph id an image that‘s been floated.The containing block for the floated image is the paragraph.
</p>

此外,浮动元素会生成一个块级框,而不论这个元素本身是什么,因此如果让一个链接浮动,即使该链接本身是行内元素,通常会生成一个行内框,但只要她是浮动的,就会生成一个块级框,规则:

1)浮动元素的左右边界不能超出其包含块的左右内边界。(虽然设置负边距或浮动元素比其父元素更宽,会让其出现在父元素的外面。)

2)浮动元素的左右外边界必须是源文档中之前出现的左浮动(或右浮动)元素的有(左)边界,除非后出现浮动元素的顶端在先出现的浮动元素的底端下面。

浮动内容都是可见的,不必担心一个浮动元素与另外一个浮动元素重叠。而使用定位情况会完全不同,可能会导致元素相互覆盖。

3)左浮动元素的右边界不会在其右浮动元素的左外边界的右边。一个右浮动元素的左外边界不会在其左浮动元素的右外边界的左边。

4)一个浮动元素的顶端不能比其父元素的顶端更高。如果一个浮动元素在两个合并外边距之间,放置这个浮动元素时就好像在两个元素之间有一个块级父元素。

这能防止浮动段落一直向上移动到三个段落共同的父元素顶端。

5)浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端更高。

6)如果源文档中一个浮动元素之前出现另一个元素,浮动元素的顶部当不能比包含该元素所生成框的任何行框的顶端更高。

7)左(或右)浮动元素的左边(右边)有另一个浮动元素,前者的右外边界不能在其包含块的有(左)边界的右边(左边)。

8)浮动元素必须尽可能高低放置。

9)左浮动元素必须向左尽可能元,右浮动元素必须向右尽可能元,位置越高,就会向右或向左浮动得越远。

实用行为

在段落1中插入左浮动的图片:

这样看浮动元素超出了左元素的底端,但是不明显。前面讨论的浮动规则只处理乐路浮动元素和其父元素的左右和上边界,而没有涉及下边界。

css2.1澄清了浮动元素行为的一个方面:浮动元素会延伸,从而包含其所有后代浮动元素。

设置图片左边距10像素,同时添加Test标题的背景和边框:

由于浮动元素同时处于流内和流外,所以这种情况肯定会发生。标题的内容由浮动元素“显示”,不过标题元素的宽度还是和父元素相等。为了避免盖在浮动元素下面,具体内容并不从其内容区左边界开始显示。

清除

你可能并不总是希望内容流过浮动元素,某些情况下,可能要特意避免这种行为。在这种情况下,你希望将没小节第一个元素设置为禁止浮动元素出现在它旁边。如果第一个元素可能放在一个浮动旁边,则会向下推,直到出现子啊浮动元素的下面,而且所有后续内容都在其后面出现。

这可以利用clear属性完成。

给标题“Test”添加属性clear:left

类似于html中的<br clear = "left">防止h3元素左边有浮动元素,还会把h3推过所有左浮动元素,不过还允许浮动元素出现在h3右边。

时间: 2024-10-05 04:27:34

css细节复习笔记——浮动的相关文章

css细节复习笔记——基本视觉格式化

css包含如此开放.如此强大的一个模型,对于这样一个模型,可以有无数种方法结合应用各种属性,可以得到的效果数不胜数. 基本框 css假定每个元素都会生成一个或多个矩形框,这称为元素框.各元素中心有一个内容区,这个内容区周围包含可选的内外边距和边框(之所以认为是可选,是因为可以设置为0). 对不同类型的元素格式化时存在着差别.块级元素的处理就不同于行内元素,而浮动元素和定位元素也分别有各自不同的表现. 包含块 每个元素都相当于包含块摆放:可以这么说,包含块就是一个元素的”布局上下文“,css2.1

css细节复习笔记——结构与层叠

每个合法的文档都会生成一个结构树,有了结构树元素的祖先.属性兄弟元素等等创建选择器来选择元素,这是CSS继承的核心.继承是从一个元素向后代元素传递属性值所采用的机制.面向一个元素使用哪些值时,用户代理不仅要考虑继承,还要考虑特殊性,另外需要考虑声明本身的来源,这个过程就叫层叠. 本文讨论3种机制之间的关联:特殊性.继承和层叠. 特殊性 同一元素可以使用不同的方法来选择元素.但是每个规则,用户代理会计算选择器的特殊性,并将这个特殊性附加到规则的个个声明.如果一个元素有两个或多个冲突的属性声明,那么

css细节复习笔记——内边距、边框和外边距

一个元素的内边距.边框和外边距属性会影响着整个文档如何布局,更重要的是,它们会严重影响给定元素的外观. 高度和宽度 这两个属性不能应用到行内非替换元素,其高度和宽度由链接的内容确定,而不是由创作人员确定.正常流中的元素很少有设定的高度. 外边距和内边距 如果元素有背景,则会影响使用内边距和外边距,因为背景会延伸到内边距中,但不会延伸到外边距.为元素指定的内边距和外边距会影响元素的背景何时结束. 为内容区的个边增加10像素空白,margin:10px,类似于html的hspace和vspace,设

CSS综合复习笔记 01

1.1开发前的准备工作            1.配置开发环境(常用前端开发工具) (1)sublime (2)webstorm (3)vscode (4)hbuilder (5)atom 2.建立项目文件夹(为了将与项目相关的文件放在一起,便于管理和以后的维护) 包括与项目相关的一些文件 (1)主页或是首页(index.html.default.html) (2)css文件夹     (存放css文件) 公用样式css文件的常用命名: [1] base.css [2] global.css (

css通用小笔记02——浮动、清除(三个例子)

css中通常会用到浮动与清除,也是一个必须掌握的知识点,概念性的东西不多说,下面举几个例子,来说明它的用法:1.文字环绕效果  2.多个div并排显示 3.清除浮动(默认显示) 一.文字环绕效果: html代码如下: 1 <body> 2 3 <style type="text/css"> 4 #big img {float: left;padding: 10px;border: 1px solid red;} 5 #big span {font-size: 2

CSS学习笔记-浮动(float,clear)

float float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止. 属性值: left    元素向左浮动. right   元素向右浮动. none    默认值.元素不浮动,并会显示在其

计算机图形学 复习笔记

计算机图形学 复习笔记 (个人整理,仅做复习用 :D,转载注明出处:http://blog.csdn.net/hcbbt/article/details/42779341) 第一章 计算机图形学综述 研究内容 图形的概念:计算机图形学的研究对象 能在人的视觉系统中产生视觉印象的客观对象 包括自然景物.拍摄到的图片.用数学方法描述的图形等等 图形的要素 几何要素:刻画对象的轮廓.形状等 非几何要素:刻画对象的颜色.材质等 图形表示法 点阵表示 枚举出图形中所有的点,简称为图像. 参数表示 由图形的

css 细节收集

细节1……………………………………………………………………………… 一.当文字与图片在一行,需要将文字与图片底对齐,需要这样写: <li>记住密码<img src="" align="bottom" style="margin-bottom:-4px"/></li> 二.当文字与图片在一行,需要将文字与图片居中对齐,需要这样写: <li>记住密码<img src="static/im

linux复习笔记

最后一门考试了,善始善终. 把linux复习一下,复习内容包括 1. 鸟哥的私房菜(1,2)+高级unix环境编程  掌握核心知识点(要注意理解OS的知识与工具知识的区别) 2. 熟练度与细节,非不断练习与总结不可以 —————————————————————————————————————————————————————— --------------------------------------------------------------------------------------