CSS定位和浮动

定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。

div、h1 或 p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。

您可以使用display属性改变生成的框的类型。这意味着,通过将 display 属性设置为 block,可以让行内元素(比如 <a> 元素)表现得像块级元素一样。还可以通过把 display 设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。

CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。

CSS定位属性:

1)position属性,可以选择4种不同类型的定位:static,relative,absolute,fixed.

2)top,right,bottom,left属性,属性值可以是像素值,也可以是百分数。

3)overflow属性,定义溢出元素内容区的内容如何处理。属性值有:visible,hidden,scroll,

auto,inherit.

4)clip属性,剪裁绝对定位元素。属性值有:shape,auto,inherit.

<style type="text/css">
img
{
position:absolute;
clip:rect(0px 50px 200px 0px)
}
</style>

5)vertical-align属性,设置元素的垂直对齐方式。属性值有:baseline,sub,super,top,text-top,middle,bottom,text-bottom,length,%,inherit.

6)Z-index属性,设置元素的堆叠顺序。属性值有:auto,number,inherit.

CSS浮动:

在CSS中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

1)float属性定义元素在哪个方向浮动。属性值有:left,right,none,inherit.

使段落的首字母浮动于左侧,并向这个字母添加样式:

<html>
<head>
<style type="text/css">
span
{
float:left;
width:0.7em;
font-size:400%;
font-family:algerian,courier;
line-height:80%;
}
</style>
</head>

<body>
<p>
<span>T</span>his is some text.
This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
</p>

<p>
在上面的段落中,文本的第一个字母包含在一个 span 元素中。这个 span 元素的宽度是当前字体尺寸的 0.7 倍。span 元素的字体尺寸是 400%,行高是 80%。span 中的字母字体是 "Algerian"
</p>

</body>
</html>

使用具有一栏超链接的浮动来创建水平菜单:

<html>
<head>
<style type="text/css">
ul
{
float:left;
width:100%;
padding:0;
margin:0;
list-style-type:none;
}
a
{
float:left;
width:7em;
text-decoration:none;
color:white;
background-color:purple;
padding:0.2em 0.6em;
border-right:1px solid white;
}
a:hover {background-color:#ff3300}
li {display:inline}
</style>
</head>

<body>
<ul>
<li><a href="#">Link one</a></li>
<li><a href="#">Link two</a></li>
<li><a href="#">Link three</a></li>
<li><a href="#">Link four</a></li>
</ul>

<p>
在上面的例子中,我们把 ul 元素和 a 元素浮向左浮动。li 元素显示为行内元素(元素前后没有换行)。这样就可以使列表排列成一行。ul 元素的宽度是 100%,列表中的每个超链接的宽度是 7em(当前字体尺寸的 7 倍)。我们添加了颜色和边框,以使其更漂亮。
</p>

</body>
</html>

使用浮动来创建拥有页眉、页脚、左侧目录和主体内容的首页:

<html>
<head>
<style type="text/css">
div.container
{
width:100%;
margin:0px;
border:1px solid gray;
line-height:150%;
}
div.header,div.footer
{
padding:0.5em;
color:white;
background-color:gray;
clear:left;
}
h1.header
{
padding:0;
margin:0;
}
div.left
{
float:left;
width:160px;
margin:0;
padding:1em;
}
div.content
{
margin-left:190px;
border-left:1px solid gray;
padding:1em;
}
</style>
</head>
<body>

<div class="container">

<div class="header"><h1 class="header">W3School.com.cn</h1></div>

<div class="left"><p>"Never increase, beyond what is necessary, the number of entities required to explain anything." William of Ockham (1285-1349)</p></div>

<div class="content">
<h2>Free Web Building Tutorials</h2>
<p>At W3School.com.cn you will find all the Web-building tutorials you need,
from basic HTML and XHTML to advanced XML, XSL, Multimedia and WAP.</p>
<p>W3School.com.cn - The Largest Web Developers Site On The Net!</p></div>

<div class="footer">Copyright 2008 by YingKe Investment.</div>
</div>

</body>
</html>

2)clear属性规定元素的哪一侧不允许其他浮动元素。属性值有:left,right,both,none,inherit.

时间: 2024-10-08 18:06:02

CSS定位和浮动的相关文章

CSS 定位与浮动

CSS 定位 Static:元素框正常生成.块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中. 相对定位(relative):与最近的一个元素进行定位.相对于原始的位置进行移动 注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间.因此,移动元素会导致它覆盖其它框. 绝对定位(absolute):设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块.元素原先在正常文档流中所占的空间会关闭

css定位与浮动

1,定位 普通流 浮动 绝对布局 position : static :偏移量和z-index没有效果 relative absolute---不再占有位置 fixed     ---位置固定,不再占有位置,但是不管页面的滚动,都固定在这个位置 overflow clip vertical-align z-index :100; 数值越大,越覆盖在上面 left-top-right-buttom:20px 四个方向的偏移 2, 浮动 float :left right none inherit(

css定位之浮动定位

浮动定位可以是原本垂直排列的块级元素,变成水平排列 1浮动元素 float:left 或者float:right  这些浮动会直接碰到父容器的边界为止. 2设置了浮动的元素,元素会脱离标准文档流中,但是元素内容会仍然占据文档流中的空间 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>float定位</title

CSS的定位和浮动

#CSS定位.浮动##1.标准文档流:指的是在不使用定位或者其他排版或者CSS,各个元素排列的规则实际上就是CSS规定网页默认的排列方式.负边距:会使文档流发生偏移,但是不会脱离文档流,不会占据原来的空间.##2.相对定位:    position:relative    1.设置了相对定位后不会影响这个元素本身    2.不会脱离文档流    3.它原本所占的空间仍被保留    4.如果没有设置相对定位偏移量,不会影响这个元素本身.    div{    position:relative;设

CSS 定位 (Positioning) CSS 外边距合并 CSS 相对定位

CSS 定位 (Positioning) 属性允许你对元素进行定位. CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务. 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.显然,这个功能非常强大,也很让人吃惊.要知道,用户代理对 CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪. 另一方面

CSS 定位(待续...)

一.CSS 定位和浮动 它们代替了多年来的表格布局. 定位的思想很简单,相对于正常位置.相对于父元素.另一个元素甚至是浏览器窗口的位置. 浮动在 CSS1 中被首次提出.浮动不完全是定位,当然也不是正常的流布局. 二.一切都是框 display 属性设置元素是什么框类型.其属性为 block.inline.none 时,分别表示块级元素.行内元素和不显示(也不占用文档的空间). 三.定位机制 有三种基本的:普通流.绝对定位和浮动. 在下面的小节里,会给你详细讲解相对定位.绝对定位和浮动. 四.定

CSS 定位 (Positioning)

CSS 定位 (Positioning) 属性允许你对元素进行定位. CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务. 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.显然,这个功能非常强大,也很让人吃惊.要知道,用户代理对 CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪. 另一方面

web前端css定位position和浮动float

最近做了几个项目:配资公司,ecmal商城等,客户对前台要求都很高.所以,今天来谈谈css的基础,以及核心,定位问题. div.h1或p元素常常被称为块级元素.这意味着这些元素显示为一块内容,即“块框”.与之相反,span和h3等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”. 在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联. 块级元素的文本行也会发生类似的情况.假设有一个包含三行文本的段落.每行文本形成一个无名框.无法直接对无名块或行框应用样式,因为没有可以

CSS定位(CSS定位概述、相对定位、绝对定位、浮动)

CSS 定位属性 CSS 定位属性允许你对元素进行定位. 属性 描述 position 把元素放置到一个静态的.相对的.绝对的.或固定的位置中. top 定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移. right 定义了定位元素右外边距边界与其包含块右边界之间的偏移. bottom 定义了定位元素下外边距边界与其包含块下边界之间的偏移. left 定义了定位元素左外边距边界与其包含块左边界之间的偏移. overflow 设置当元素的内容溢出其区域时发生的事情. clip 设置元素的