CSS 定位Word格式文档下载.docx
- 文档编号:18499572
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:10
- 大小:50.72KB
CSS 定位Word格式文档下载.docx
《CSS 定位Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《CSS 定位Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
但是在一种情况下,即使没有进行显式定义,也会创建块级元素。
这种情况发生在把一些文本添加到一个块级元素(比如div)的开头。
即使没有把这些文本定义为段落,它也会被当作段落对待:
<
div>
sometext
p>
Somemoretext.<
/p>
/div>
在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。
块级元素的文本行也会发生类似的情况。
假设有一个包含三行文本的段落。
每行文本形成一个无名框。
无法直接对无名块或行框应用样式,因为没有可以应用样式的地方(注意,行框和行内框是两个概念)。
但是,这有助于理解在屏幕上看到的所有东西都形成某种框。
CSS定位机制
CSS有三种基本的定位机制:
普通流、浮动和绝对定位。
除非专门指定,否则所有框都在普通流中定位。
也就是说,普通流中的元素的位置由元素在X(HTML)中的位置决定。
块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。
行内框在一行中水平布置。
可以使用水平内边距、边框和外边距调整它们的间距。
但是,垂直内边距、边框和外边距不影响行内框的高度。
由一行形成的水平框称为行框(LineBox),行框的高度总是足以容纳它包含的所有行内框。
不过,设置行高可以增加这个框的高度。
在下面的章节,我们会为您详细讲解相对定位、绝对定位和浮动。
CSSposition属性
通过使用position属性,我们可以选择4种不同类型的定位,这会影响元素框生成的方式。
position属性值的含义:
Static:
元素框正常生成。
块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
Relative:
元素框偏移某个距离。
元素仍保持其未定位前的形状,它原本所占的空间仍保留。
Absolute:
元素框从文档流完全删除,并相对于其包含块定位。
包含块可能是文档中的另一个元素或者是初始包含块。
元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。
元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
Fixed:
元素框的表现类似于将position设置为absolute,不过其包含块是视窗本身。
提示:
相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
CSS定位属性
CSS定位属性允许你对元素进行定位。
属性
描述
position
把元素放置到一个静态的、相对的、绝对的、或固定的位置中。
top
定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。
right
定义了定位元素右外边距边界与其包含块右边界之间的偏移。
bottom
定义了定位元素下外边距边界与其包含块下边界之间的偏移。
left
定义了定位元素左外边距边界与其包含块左边界之间的偏移。
overflow
设置当元素的内容溢出其区域时发生的事情。
clip
设置元素的形状。
元素被剪入这个形状之中,然后显示出来。
vertical-align
设置元素的垂直对齐方式。
z-index
设置元素的堆叠顺序。
CSS相对定位
设置为相对定位的元素框会偏移某个距离。
元素仍然保持其未定位前的形状,它原本所占的空间仍保留。
相对定位是一个非常容易掌握的概念。
如果对一个元素进行相对定位,它将出现在它所在的位置上。
然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。
如果将top设置为20px,那么框将在原位置顶部下面20像素的地方。
如果left设置为30像素,那么会在元素左边创建30像素的空间,也就是将元素向右移动。
#box_relative{
position:
relative;
left:
30px;
top:
20px;
}
如下图所示:
注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。
因此,移动元素会导致它覆盖其它框。
CSS绝对定位
设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。
元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。
绝对定位使元素的位置与文档流无关,因此不占据空间。
这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
普通流中其它元素的布局就像绝对定位的元素不存在一样:
absolute;
绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。
对于定位的主要问题是要记住每种定位的意义。
所以,现在让我们复习一下学过的知识吧:
相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么“相对于”最初的包含块。
注释:
根据用户代理的不同,最初的包含块可能是画布或HTML元素。
因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。
可以通过设置z-index属性来控制这些框的堆放次序。
CSS浮动
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
请看下图,当把框1向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:
再请看下图,当框1向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。
因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框2,使框2从视图中消失。
如果把所有三个框都向左移动,那么框1向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。
如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。
如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:
CSSfloat属性
定义和用法
float属性定义元素在哪个方向浮动。
以往这个属性总应用于图像,使文本围绕在图像周围,不过在CSS中,任何元素都可以浮动。
浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;
否则,它们会尽可能地窄。
假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。
默认值:
none
继承性:
no
版本:
CSS1
JavaScript语法:
object.style.cssFloat="
left"
实例
把图像向右浮动:
img
{
float:
right;
}
TIY
浏览器支持
所有主流浏览器都支持float属性。
任何的版本的InternetExplorer(包括IE8)都不支持属性值"
inherit"
。
可能的值
值
元素向左浮动。
元素向右浮动。
默认值。
元素不浮动,并会显示在其在文本中出现的位置。
inherit
规定应该从父元素继承float属性的值。
行框和清理
浮动框旁边的行框被缩短,从而给浮动框留出空间,行框围绕浮动框。
因此,创建浮动框可以使文本围绕图像:
要想阻止行框围绕浮动框,需要对该框应用clear属性。
clear属性的值可以是left、right、both或none,它表示框的哪些边不应该挨着浮动框。
为了实现这种效果,在被清理的元素的上外边距上添加足够的空间,使元素的顶边缘垂直下降到浮动框下面:
这是一个有用的工具,它让周围的元素为浮动元素留出空间。
让我们更详细地看看浮动和清理。
假设希望让一个图片浮动到文本块的左边,并且希望这幅图片和文本包含在另一个具有背景颜色和边框的元素中。
您可能编写下面的代码:
.news{
background-color:
gray;
border:
solid1pxblack;
.newsimg{
left;
.newsp{
right;
divclass="
news"
>
imgsrc="
news-pic.jpg"
/>
sometext<
这种情况下,出现了一个问题。
因为浮动元素脱离了文档流,所以包围图片和文本的div不占据空间。
如何让包围元素在视觉上包围浮动元素呢?
需要在这个元素中的某个地方应用clear:
不幸的是出现了一个新的问题,由于没有现有的元素可以应用清理,所以我们只能添加一个空元素并且清理它。
.clear{
clear:
both;
clear"
这样可以实现我们希望的效果,但是需要添加多余的代码。
常常有元素可以应用clear,但是有时候不得不为了进行布局而添加无意义的标记。
不过我们还有另一种办法,那就是对容器div进行浮动:
这样会得到我们希望的效果。
不幸的是,下一个元素会受到这个浮动元素的影响。
为了解决这个问题,有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。
这有助于减少或消除不必要的标记。
事实上,W3School站点上的所有页面都采用了这种技术,如果您打开我们使用CSS文件,您会看到我们对页脚的div进行了清理,而页脚上面的三个div都向左浮动。
CSSclear属性
我们刚才详细讨论了CSS清理的工作原理和clear属性应用方法。
如果您希望学习更多有关clear属性的知识,请访问参考手册:
CSSclear属性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CSS 定位