文档库 最新最全的文档下载
当前位置:文档库 › 详解css定位与定位应用

详解css定位与定位应用

详解css定位与定位应用
详解css定位与定位应用

引伸阅读

?解读absolute与relative

?position:relative/absolute无法冲破的等级

定位一直是WEB标准应用中的难点,如果理不清楚定位那么可能应实现的效果实现不了,实现了的效果可能会走样。如果理清了定位的原理,那定位会让网页实现的更加完美。

定位的定义:

在CSS中关于定位的内容是:position:relative | absolute | static | fixed

static 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级。relative 不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。

absolute 脱离文档流,通过 top,bottom,left,right 定位。选取其最近的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。

fixed 固定定位,这里他所固定的对像是可视窗口而并非是body或是父级元素。可通过z-index进行层次分级。

CSS中定位的层叠分级:z-index: auto | namber;

auto 遵从其父对象的定位

namber 无单位的整数值。可为负数

定位的原理:

可以位移的元素(相对定位)

在本文流中,任何一个元素都被文本流所限制了自身的位置,但是通过CSS我们依然使得这些元素可以改变自己的位置,我们可以通过float来让元素浮动,我们也可以通过margin来让元素产生位置移动。但是事实上那并非是真实的位移,因为,那只是通过加大margin值来实现的障眼法。而真正意义上的位移是通过top,right,bottom,left(下称TRBL,TRBL可以折分使用。)针对一个相对定位的元素所产生的。我们看下面的图:

我们看图中是一个宽度为200px,高度为50px,margin:25px; border:25px solid #333; padding:25px; 相对定位的元素,并且位移距上50px,距左50px。而下方是一块默认定位的黑色区块。我们看到这个处在文本流的区块被上面的相对定位挡住了一部分,这说明:“当元素被设置相对定位或是绝对定位后,将自动产生层叠,他们的层叠级别自然的高于文本流”。除非设置其z-index值为负值,但是在 Firefox等浏览器中z-index 为负值时将不会显示。并且我们发现当相对定位元素进行位移后,表现内容已经脱离了文本流,只是在本文流中还为原来的相对对定位留下了原有的总宽与总高(内容的高度或是宽度加上margin\border\padding的数值)。这说明在相对定位中,虽然表现区脱离了原来的文本流,但是在文本流中还还有此相对定位的老窩。这点要特别注意,因为在实际应用中如果相对定位的位移数值过大,那么原有的区域就会形成一块空白。

并且我们注意,定位元素的坐标点是在margin值的左上边缘点,即图中的B点。那么所有的位移的计算将以这个点为基础进行元素的推动。当TRBL为正值时位移的方向是内聚的。由此可推,当TRBL为负值时位移的方向是外放的。在图片中有位移的箭头指向标识,带有加号的是正值位移方向,带有减号的是负值位移方向。关于位移方位,可以延伸阅读怿飞的《由浅入深漫谈margin属性(一)》

可以在任意一个位置的元素(绝对定位)

如上所述:相对定位只可以在文本流中进行位置的上下左右的移动,同样存在一定的局限性,虽然他的表现区脱离了文本流,但是在文本流却依然为其保留了一席之地,这就

好比一个打工的人他到了外地,但是在老家依然有一个专属于他的位置,这个位置不随他的移动而改变。但是这样很明显就会空出一块空白来,如果希望文本流抛弃这个部分就需要用到绝对定位。绝对定位不光脱离了文本流,而且在文本流中也不会给这个绝对定位元素留下专属空位。这就好比是一个工厂里的职位,如果有一个工人走了自然会要有别的工人来填充这个位置。而移动出去的部分自然也就成为了自由体。绝对定位将可以通过TRBL来设置元素,使之处在任何一个位置。在父层position属性为默认值时,TRBL的坐标原点以body的坐标原点为起始。看下图:

上图可知,文本流中的内容会顶替绝对定位无素的位置,一点都不会客气。而绝对定位元素自然的层叠于文本流之上。而在单一的绝对定位中,定位元素将会跑到网页的左上角,因为那里是他们的被绝对定位后的坐标原点。

被关联的绝对定位

上面说的是单一的绝对定位,而在实际的应用中我们常常会需要用到一种特别的形式。即希望定位元素要有绝对定位的特性,但是又希望绝对定位的坐标原点可以固定在网页中的某一个点,当这个点被移动时绝对位定元素能保证相对于这个原坐标的相对位置。也就是说需要这个绝对定位要跟着网页移动,而并且是因定在网页的某一个固定位置。通常当网页是居中形式的时候这种效果就会显得特别的重要。要实现这种效果基本方式就是为这个绝对定位的父级设置为相对定位或是绝对定位。那么绝对定位的坐标就会以

父级为坐标起始点。

虽然是如此,但是这个坐标原点却并不是父级的坐标原点,这是一个很奇怪的坐标位置。

我们看一下模型图示:

我们看到,这个图中父级为黑灰色区块,子级为青色区块。父级是相对定位,子级是绝对定位。子级设置了顶部位移50个像素,左倾位移50个像素。那么我们看,子级的坐标原点并不是从父级的坐标原点位移50个像素,而是从父级块的padding左上边缘点为坐标起始点(即A点)。而父级这里如果要产生位置移动,或是浏览器窗口大小有所变动都不会影响到这个绝对定位元素与父级的相对定位元素之间的位置关系。这个子级也不用调整数值。

这是一种很特别并且也是非常实用的应用方式。如果你之前对于定位的控制并不自如的话,相信看完对这里对定位的解释一定可以把定位使用得随心所欲。

总在视线里的元素(固定定位)

由于广告的滥用,使得一些浏览器软件都开始有了广告内容拦截,使得一些很好的效果现在都不推荐使用了。比如让一个元素可能随着网页的滚动而不断改变自己的位置。而现在我可以通过CSS中的一个定位属性来实现这样的一个效果,这个元素属性就是曾经不被支持的position:fixed; 他的含义就是:固定定位。这个固定与绝对定位很像,唯一不同的是绝对定位是被固定在网页中的某一个位置,而固定定位则是固定在浏览器的

视框位置。

虽然原来的浏览器并不支持过个属性,但是浏览器的发展使得现在的高级浏览器都可以正确的解析这个CSS属性。并且通过CSS HACK来让IE6都可以实现这样的效果(目前无法使IE5.x)实现这种效果。为了不使本文变成冗长的大论,这里只给出这个实例算是这篇文章的结束。关于这个实例的一些问题大家可以自行分析。有不理解的地方可以给我留言!

定位应用

运行代码框

[Ctrl+A 全部选择提示:你可先修改部分代码,再按运行]

论坛讨论: https://www.wendangku.net/doc/f54704521.html,/thread-2732509-1-1.html

本文链接:https://www.wendangku.net/doc/f54704521.html,/tech/web/2007/4577.asp

DIV+CSS:网站首页布局实例教程

DIV+CSS:网站首页布局实例教程 第一步:页面布局与规划 在网页制作中,有许多的术语,例如:CSS、HTML、DHTML、XHTML等等。在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。下面我们就开始一步一步使用DIV+CSS进行网页布局设计吧。所有的设计第一步就是构思,构思好了,一般来说还需要用PhotoShop或FireWorks(以下简称PS或FW)等图片处理软件将需要制作的界面布局简单的构画出来,以下是我构思好的界面布局图。 下面,我们需要根据构思图来规划一下页面的布局,仔细分析一下该图,我们不难发现,图片大致分为以下几个部分: 1、顶部部分,其中又包括了LOGO、MENU和一幅Banner图片; 2、内容部分又可分为侧边栏、主体内容; 3、底部,包括一些版权信息。 有了以上的分析,我们就可以很容易的布局了,我们设计层如下图:

根据上图,我再画了一个实际的页面布局图,说明一下层的嵌套关系,这样理解起来就会更简单了。 DIV结构如下: │body {}/*这是一个HTML元素,具体我就不说明了*/ └#Container {}/*页面层容器*/

├#Header {}/*页面头部*/ ├#PageBody {}/*页面主体*/ │├#Sidebar {}/*侧边栏*/ │└#MainBody {}/*主体内容*/ └#Footer {}/*页面底部*/ 至此,页面布局与规划已经完成,接下来我们要做的就是开始书写HTML代码和CSS。 第二步:写入整体层结构和CSS 接下来我们在桌面新建一个文件夹,命名为“DIV+CSS布局练习”,在文件夹下新建两个空的记事本文档,输入以下内容: 无标题文档 这是XHTML的基本结构,将其命名为index.htm,另一个记事本文档则命名为css.css。 下面,我们在标签对中写入DIV的基本结构,代码如下:

[color=#aaaaaa][/color]
[color=#aaaaaa][/color]
[color=#aaaaaa][/color]
为了使以后阅读代码更简易,我们应该添加相关注释,接下来打开css.css文件,写入CSS 信息,代码如下: /*基本信息*/ body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;} /*页面层容器*/ #container {width:100%} /*页面头部*/ #Header {width:800px;margin:0 auto;height:100px;background:#FFCC99}

CSS 定位详解

CSS 定位 CSS 定位(Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。要知道,用户代理对CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪。 另一方面,CSS1 中首次提出了浮动,它以Netscape 在Web 发展初期增加的一个功能为基础。浮动不完全是定位,不过,它当然也不是正常流布局。我们会在后面的章节中明确浮动的含义。 一切皆为框 div、h1 或p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和strong 等元素称为“行内元素”,这是因为它们的内容显示

在行中,即“行内框”。 您可以使用display 属性改变生成的框的类型。这意味着,通过将display 属性设置为block,可以让行内元素(比如 元素)表现得像块级元素一样。还可以通过把display 设置为none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。 但是在一种情况下,即使没有进行显式定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素(比如div)的开头。即使没有把这些文本定义为段落,它也会被当作段落对待:

在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。 块级元素的文本行也会发生类似的情况。假设有一个包含三行文本的段落。每行文本形成一个无名框。无法直接对无名块或行框应用样式,因为没有可以应用样式的地方(注意,行框和行内框是两个概念)。但是,这有助于理解在屏幕上看到的所有东西都形成某种框。

DIV+CSS布局:CSS浮动float属性详解

DIV CSS布局:CSS浮动float属性详解 在传统的表格布局中,我们对表格应该对齐方式对实现了对布局的应用,而应用Web标准构建网页以后,float浮动属性是布局中非常重要的属性,我们常常通过对div元素应用float浮动来进行布局,不但对整个版式进行规划,也可以对一些基本元素如导航等进行排列。 我们来看看float属性基本释义: 该属性的值指出了对象是否及如何浮动。当该属性不等于none引起对象浮动时,对象将被视作块对象(block-level),即display属性等于block。也就是说,浮动对象的display特性将被忽略。 float属性的参数: none:对象不浮动 left:对象浮在左边 right:对象浮在右边 下面我们通过一些测试来了解可能出现的一些情况,如果float取值为none则不会发生任何浮动,块元素独占一行,紧随其后的块元素将在新行中显示,如下图: 我们看下面的运行效果: Source Code to Run 52CSS

https://www.wendangku.net/doc/f54704521.html,这是第一个DIV
https://www.wendangku.net/doc/f54704521.html,这是第二个DIV
[ 可先修改部分代码再运行查看效果] 我们对content_a应用向左的浮动。而content_b不应用任何浮动。

CssSelector定位分享

cssSelector定位 一.为什么使用cssSelector定位元素? 目前针对一些常规定位方式有:By.id、https://www.wendangku.net/doc/f54704521.html,、By.LinkTest(针对标签)、By.ClassName 针对不太好定位的,比如:没有id、name、class的定位方式,或者说id、name、class的value值显示重复,不太方便一下写出定位方式,这样可以考虑下其它定位方式。以下主要介绍cssSelector如何解决id、name、class的value值显示重复的定位方式。 二.基础语法

三.css常用的定位方式介绍 1.E代表的是标签; 2.E>F:F也是代表的标签,称为子代元素,F是E的子代元素,说通俗一点F是E的儿子 关系,F紧跟着E后面的第一个元素,直接的下一级; 3. E F:隔着多层标签,称为后代元素。通俗点说祖宗辈关系,例如爷爷和孙子关系; 4.E+F:匹配紧随E元素之后的同级元素F(只匹配第一个),称为毗邻元素选择器。通俗 点解释E是大哥,后面有多个弟弟,只取它最近一个弟弟F; 5. E ~ F:同级标签,称为同级元素选择器。通俗称为兄弟关系,例如哥哥和弟弟关系; 6.E[att='val']:E代表标签,att代表属性,val指属性的值; 7.E[att1='v1'][att2*='v2']:多属性选择器,针对一个标签有多个属性,做并且的关系同时满 足条件; https://www.wendangku.net/doc/f54704521.html, class:点代表class; 9.#footer id:#号代表id; 10.ele:nth-of-type(n)是指其父元素下第n个ele元素。例如:同一级下有10个div标签,那 么只需要定位其中6个div,这时代码可以这样写:div:nth-of-type(6),括号中的数据代表索引查找第n个元素; 四.cssSelector常用定位方式的案例 1.例如这样一段html代码的网页

实验四 Div+CSS网页布局

实验四 Div+CSS网页布局 一、站点规划 在网页制作中,有许多的术语,例如: HTML、CSS、DIV等等。下面我们就开始一步一步使用DIV+CSS 进行网页布局设计吧。 所有的设计第一步就是构思,构思好了,一般来说还需要制作的界面布局简单的构画出来。 下面,我们需要根据构思图来规划一下页面的布局,仔细分析一下该图,我们不难发现,图片大致分为以下几个部分: 1、顶部部分,其中又包括了LOGO、MENU和一幅Banner图片; 2、内容部分又可分为侧边栏、主体内容; 3、底部,包括一些版权信息。 有了以上的分析,我们就可以很容易的布局了,我们设计层如下图:

根据上图,我再画了一个实际的页面布局图,说明一下层的嵌套关系,这样理解起来就会更简单了。 DIV结构如下: │body {}/*这是一个HTML元素,具体我就不说明了*/ └#Container {}/*页面层容器*/ ├#Header {}/*页面头部*/

├#PageBody {}/*页面主体*/ │├#Sidebar {} /*侧边栏*/ │└#MainBody {}/*主体内容*/ └#Footer {}/*页面底部*/ 至此,页面布局与规划已经完成,接下来我们要做的就是开始书写HTML代码和CSS。 接下来我们在桌面新建一个文件夹,命名为“DIV+CSS页面布局”,在文件夹下新建两个空的记事本文档,输入以下内容: 这是XHTML的基本结构,将其命名为index.htm,另一个记事本文档则命名为css.css。 下面,我们在标签对中写入DIV的基本结构,代码如下:

(css)布局模型总结

(CSS)布局模型总结 2012年6月18日0:37 作者:穿越中的逍遥 编者按:作者假设您对CSS布局已具有一定的了解。 在网页中,元素有三种布局模型: 1、流动模型(position:static) 2、浮动模型(float:left、right) 3、层模型(position:absolute、fixed、relative) 其中比较特殊的布局方式是: position:relative 它保留该元素在“流动模型”或者“浮动模型”所占据的空间,不改变元素的显示方式:“内联”或者“块状”。它仅告诉元素按照元素在原来的位置作相对移动。但它毕竟是层模型布局的元素,如果与其它元素重叠,它将显示在非层模型布局的元素的上方。另外设置了relative之后,元素便具有了完整的盒模型,即便是内联元素,设置高度、上下补白,上下边界也变得有效了,并且这些设置将体现在其在文档流中所占据的空间上。 流动模型 流动(Flow)是默认的网页布局模式。任何没有具体定义position:absolute?或 position:fixed?属性,以及没有被定义浮动float:left?或float:right?的元素都将默认呈现流动布局模式。 流动布局模型具有4个比较典型的特征: 1、块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状 态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置,不管这个元素所包含的内容有多少,也不管我们把元素的宽度设置多窄。 2、内联元素都会在所处的包含元素内从左到右水平分布显示。有人把这种分布方式 称为文本流,文本流源于文本的从左向右自然流动,本质上它与HTTP传输方式和浏览器的解析机制密切相关。超出一行后,会自动从上而下换行显示,然后继续从左到右按顺序流动,以此类推。当然,读者可以利用CSS文本属性强制改变文本流动方向。 3、相邻的两块状元素或嵌套的块状元素如果定义了上下外边距会发生重叠,重叠的 结果是两者之中的最大值。针对嵌套的重叠现象,可以通过定义父元素的overflow 属性值为“auto”来阻止这种重叠。 4、浮动元素不会发生外边距重叠,而浮动与块状元素接触时,通过后出现的元素来 决定是否重叠。从编程的角度讲,修改已经构建好的dom树,倒不如通过决定下一个元素如何显示来的效率要高。如果浮动元素是块状元素的父元素,根据上边的规则是应该重叠的,但是浮动元素会自动计算内部的高度宽度,所以结果外边距不会发生重叠。

CSS的定位和浮动

CSS定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。要知道,用户代理对CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪。 另一方面,CSS1 中首次提出了浮动,它以Netscape 在Web 发展初期增加的一个功能为基础。浮动不完全是定位,不过,它当然也不是正常流布局。我们会在后面的章节中明确浮动的含义。 一切皆为框 div、h1 或p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。 您可以使用display 属性改变生成的框的类型。这意味着,通过将display 属性设置为block,可以让行内元素(比如 元素)表现得像块级元素一样。还可以通过把display 设置为none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。 但是在一种情况下,即使没有进行显式定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素(比如div)的开头。即使没有把这些文本定义为段落,它也会被当作段落对待: 以下是引用片段:

在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。 块级元素的文本行也会发生类似的情况。假设有一个包含三行文本的段落。每行文本形成一个无名框。无法直接对无名块或行框应用样式,因为没有可以应用样式的地方(注意,行框和行内框是两个概念)。但是,这有助于理解在屏幕上看到的所有东西都形成某种框。 CSS定位机制 CSS 有三种基本的定位机制:普通流、浮动和绝对定位。 除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在X(HTML) 中的位置决定。 块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。 行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。但是,垂直内边距、边框和外边距不影响行内框的高度。由一行形成的水平框称为行框(Line Box),行框的高度总是足以容纳它包含的所有行内框。不过,设置行高可以增加这个框的高度。

CSS绝对定位的应用

CSS绝对定位的应用 前面的话 之前的博客文章已经详细介绍过绝对定位的基础知识,由于它的用途实在广泛,于是单独为其写这篇关于其应用的博客。关于绝对定位的基础知识移步至此 静态位置 当元素绝对定位后,若该元素的格式化属性不发生变化,则该元素处于静态位置。关于绝对定位元素格式化的相关内容移步至此。元素的静态位置是指元素在正常流中原本的位置,更确切的讲,顶端的静态位置是从包含块的上边界到假想框的上外边距边界之间的距离。假想框是假设元素position属性为static时元素的第一个框。 应用 以下是基于绝对定位静态位置的应用 【1】自适应位置的跟随图标 图标使用不依赖定位父级的absolute和margin属性进行定位,这样,当文本的字符个数改变时,图标的位置可以自适应 复制代码 div{ height: 20px; width: 500px; line-height: 20px; margin-bottom: 30px; } i{ position: absolute; width: 28px; height: 11px; margin: -6px 0 0 2px; background: url('https://www.wendangku.net/doc/f54704521.html,/uploads/rs/26/ddzmgynp/hot.gif'); } 复制代码

长度可变文字
【2】视频图片上的小图标提示 一般在视频图片上的边角上都会有"自制"、"最新"、"1080p"等诸如此类的提示。使用不依赖的绝对定位属性,可以让父级元素不设置relative,拓展性更强 复制代码 i{ position: absolute;

css布局

画了一个实际的页面布局图,说明一下层的嵌套关系,这样理解起来就会更简单了。 DIV结构如下: │body {}/*这是一个HTML元素,具体我就不说明了*/ └#Container {}/*页面层容器*/ ├#Header {}/*页面头部*/ ├#PageBody {}/*页面主体*/ │├#Sidebar {}/*侧边栏*/ │└#MainBody {}/*主体内容*/ └#Footer {}/*页面底部*/ 接下来我们在桌面新建一个文件夹,命名为“DIV+CSS布局练习”,在文件夹下新建两个空的记事本文档,输入以下内容: 无标题文档

这是XHTML的基本结构,将其命名为index.htm,另一个记事本文档则命名为css.css。 下面,我们在标签对中写入DIV的基本结构,代码如下: 为了使以后阅读代码更简易,我们应该添加相关注释,接下来打开css.css文件,写入CSS信息,代码如下: 把以上文件保存,用浏览器打开,这时我们已经可以看到基础结构了,这个就是页面的框架了。 关于以上CSS的说明(详细请参考CSS2.0中文手册,网上有下载): 1、请养成良好的注释习惯,这是非常重要的;

8种css垂直居中水平居中的绝对定位

8种css垂直居中水平居中的绝对定位 ①绝对定位居中: 我们在css布局中常用到的是margin:0 auto;来居中,一直觉得margin:auto;是不能居中的,但是实现元素居中只需要声明元素高度和下面的css就可以了。 Absolute-center{ margin:auto; position:absolute; top:0; right:0; left:0; bottom:0; } 优点: 1.支持跨浏览器,包括IE8-IE10. 2.无需其他特殊标记,CSS代码量少 3.支持百分比%属性值和min-/max-属性 4.只用这一个类可实现任何内容块居中 5.不论是否设置padding都可居中(在不使用box-sizing属性的前提下) 6.内容块可以被重绘。 7.完美支持图片居中。 缺点: 1.必须声明高度(查看可变高度Variable Height)。 (查看溢出Overflow)。 2.建议设置overflow:auto来防止内容越界溢出。 3.在Windows Phone设备上不起作用。 1)容器内: 内容块的父元素使用相对定位position:relative;使用上述绝对居 中方式可以使内容居中显示于父容器中。 .center-container{ Position:relative; } .absolute-center{ Width:50%; Height:50%; Overflow:auto; Margin:auto;

Position:absolute; Top:0; Left:0; Right:0; Bottom:0; } 2)视区内 想让内容块一直停留在可视区域内?将内容块设置为position:fixed;并设置一个较大的z-index层叠属性值。 .Absolute-Center.is-Fixed { position: fixed; z-index: 999; } 3)边栏 如果你要设置一个固顶的头或增加其他的边栏,只需要在内容块的样式中加入像这样的CSS样式代码:top:70px;bottom:auto;由于已经声明了margin:auto;,该内容块将会垂直居中于你通过top,left,bottom和right属性定义的边界框内。 你可以将内容块固定与屏幕的左侧或右侧,并且保持内容块垂直居中。使用right:0;left:auto;固定于屏幕右侧,使用left:0;right:auto;固定与屏幕左侧。 .Absolute-Center.is-Right { left: auto; right: 20px; text-align: right; } .Absolute-Center.is-Left { right: auto; left: 20px; text-align: left; }

css定位

网上也有不少使用div + css进行布局的教程,却存在很多缺陷,一是对css的布局模型讲解不清楚,让人很难理解相对定位、浮动等概念;二是虽然避免了“表格套表格”的缺点,却带来了“div 套div”的缺点,过量使用div标签;三是class过多,造成class灾难。 要正确使用css,对css的基本只是就不能够不了解。既然是漫谈,我这里就只讲四个方面,最后给出xkland项目作为实例。 一、CSS中的块模型 在CSS的定义中,有的html标签被浏览器当成一个块来显示,比如div、table、p、ul等等,我们称之为块元素;有的html标签被浏览器显示在文本行之类,如a、span、font等等,我们称之为行内元素。行内元素我这里就不讲了,只讲讲块元素的模型。 每一个块元素都可以分为context、padding、boder和margin几个部分,我们常说的宽和高,通常指的是context的宽和高(也有可能是context+padding,具体跟浏览器有关),padding代表内容和边框之间的填充,margin代表边框之外的空白,如下图: 这几个部分都是可以通过CSS进行指定的,当然,CSS还可以控制背景,因此,我们可以通过CSS来灵活控制我们页面的外观。 二、CSS中的文档流模型 所有的块元素在html文档中是按照它们出现在文档中的先后顺序排列的(当然,嵌套不在此列),每一个块都会另起一行。如下图: 他们对应的html如下:

div1
div2
div3
为了定义他们的宽度、高度还有边框,我们定义如下的CSS: #div1 { border: 1px solid #000099; height: 60px; width: 200px;

CSS定位技术应用综述

CSS定位技术应用综述 1.基于CSS 技术的室内定位通信系统 该系统设计了基于CSS扩频信号的室内定位通信系统,在利用CSS扩频信号实现数据通信的基础上,使用双边双向测距算法SDS-TWR(Symmetric Double Sided Two-Way Ranging)测量端点间的距离,计算出标签点位置信息,并针对多标签点同时定位情况下产生的冲突问题,设计了一套多标签点情况下的系统管理算法,对系统进行有效管理。 1.1系统模型 本文是基于多标签节点情况下的定位方案,其系统的结构如图1所示。系统的组成包括4个固定锚节点(Anchor1、Anchor2、Anchor3和Anchor4)、多个移动标签点(Tag1、Tag2及Tag3等)和定位服务器。4个锚节点固定在定位服务区域的4个固定坐标点上,定位区域内的移动标签点处于对等关系,可以进行定位及相互间的数据通信。 图1 定位系统结构框图 系统工作时,当有标签节点需要定位时,系统标签点依次向各个固定锚节点发出测距信号,固定锚节点收到测距信号后,根据SDS-TWR算法产生相应的应答信号,与移动标签点完成测距。移动标签点分别与4个固定锚节点完成测距后,将距离信息通过USB接口送入与其连接的定位服务器。由于各固定锚节点的坐标已知,定位服务器可以通过LLOP算法计算出移动标签的坐标,并进行显示。 1.2硬件设计 本系统选用nanoPAN5375射频收发模来完成基本的CSS通信功能。nanoPAN5375射频收发模块由德国nanotron公司生产,采用CSS扩频技术,扩频带宽达到80MHz,工作在2.4GHz ISM频段,最高数据传输速率高达2Mb/s。此外,其内部包含高精度的实时时钟和定时器,利于SDS-TWR测距算法的实现。nanoPAN5375射频收发模内部完成了对射频信号的产生与处理,只需要通过SPI接口对其内部寄存器进行操作。系统的硬件结构可以分为标签节点和锚节点两部分。 1.2.1锚节点硬件设计 锚节点的硬件主要基于Atmega128 8bit单片机和nanoPAN5375射频收发模块。Atmega128属于A VR系列,具有低功耗、操作简单等特点,并且自带完整的SPI接口控制器,可以作为主机和从设备使用,能够胜任锚节点中对nanoPAN5375射频模块的控制及数

CSS布局:详解定位属性Position

CSS布局:详解定位属性Position CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS 定位属性Position。 1. position:static 所有元素的默认定位都是:position:static,这意味着元素没有被定位,而且在文档中出现在它应该在的位置。 一般来说,不用指定position:static,除非想要覆盖之前设置的定位。 #div-1 { position:static; } 2. position:relative 如果设定position:relative,就可以使用top,bottom,left 和right 来相对于元素在文档中应该出现的位置来移动这个元素。【意思是元素实际上依然占据文档中的原有位置,只是视觉上相对于它在文档中的原有位置移动了】 #div-1 {

position:relative; top:20px; left:-40px; } 3. position:absolute 当指定position:absolute 时,元素就脱离了文档【即在文档中已经不占据位置了】,可以准确的按照设置的top,bottom,left 和right 来定位了。 #div-1a { position:absolute; top:0; right:0; width:200px; }

4. position:relative + position:absolute 如果我们给div-1 设置relative 定位,那么div-1 内的所有元素都会相对div-1 定位。如果给div-1a 设置absolute 定位,就可以把div-1a 移动到div-1 的右上方。 #div-1 { position:relative; } #div-1a { position:absolute; top:0; right:0; width:200px; }

(整理)css框模型和定位.

精品文档
CSS 框模型概述
?
Previous Page
?
Next Page
CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。
CSS 框模型概述
元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是 边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。 内边距、边框和外边距都是可选的,默认值是零。但是,许多元素将由用户代理样式表设置外边距和内边 距。可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式。这可以分别进行,也可以 使用通用选择器对所有元素进行设置:
*{
精品文档

精品文档
margin: 0; padding: 0; } 在 CSS 中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容 区域的尺寸,但是会增加元素框的尺寸。 假设框的每个边上有 10 个像素的外边距和 5 个像素的内边距。如果希望这个元素框达到 100 个像素, 就需要将内容的宽度设置为 70 像素,请看下图:
#box { width: 70px; margin: 10px; padding: 5px;
} 提示:内边距、边框和外边距可以应用于一个元素的所有边,也可以应用于单独的边。 提示:外边距可以是负值,而且在很多情况下都要使用负值的外边距。
浏览器兼容性 精品文档

实验2:DIV+CSS布局实验 - 副本

实验2 DIV+CSS 布局 1 实验目的 1) 了解页面常用布局结构; 2) 掌握DIV 的使用方法; 3) 掌握DIV+CSS 布局的基本方法; 2 实验内容 1) 制作一个简单的如下图框架的首页,不需要填写具体内容,使用背景色标出区域即可; 3 实验要求 1) 了解页面常用布局结构; 2) 掌握DIV 的使用方法; 3) 掌握CSS 布局的基本方法;

4实验步骤 4.1CSS布局入门 CSS布局与传统表格(table)布局最大的区别在于:原来的定位都是采用表格,通过表格的间距或者用无色透明的GIF图片来控制文布局版块的间距;而现在则采用层(div)来定位,通过层的margin、padding、border等属性来控制版块的间距。 定义DIV,分析一个典型的定义div例子: 说明如下: 1)层的名称为sample,在页面中用就可以调用这个样式; 2)margin是指层的边框以外留的空白,用于页边距或者与其它层制造一个 间距。"10px 10px 10px 10px"分别代表"上右下左"(顺时针方向)四个边距,如果都一样,可以缩写成"margin: 10px;"。如果边距为零,要写成"margin: 0px;"; 3)注意:当值是零时,除了rgb颜色值0%必须跟百分号,其他情况后面可 以不跟单位"px"。margin是透明元素,不能定义颜色; 4)padding是指层的边框到层的内容之间的空白。和margin一样,分别指定 上右下左边框到内容的距离。如果都一样,可以缩写成"padding:0px"。单 独指定左边可以写成"padding-left: 0px;"。padding是透明元素,不能定义 颜色; 5)border是指层的边框,"border-right: #ccc 2px solid;"是定义层的右边框颜

CSS position绝对定位absolute relative

DIV CSS position绝对定位absolute relative教程篇 常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:absolute和position:relative实现。 一、position语法与结构 position语法: position : static absolute relative position参数: static : 无特殊定位,对象遵循HTML定位规则 absolute : 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过css z-index属性定义。此时对象不具有边距,但仍有补白和边框 relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置 position说明: 设置对象的定位方式,可以让布局层容易位置绝对定位,控制盒子对象更加准确。 二、position实际用处 绝对定位position用于定位盒子对象,有时一个布局中几个小对象,不易用css padding、css margin进行相对定位,这个时候我们就可以使用绝对定位来轻松搞定。特别是一个盒子里几个小盒子不规律的布局,这个时候我们使用position 绝对定位非常方便布局对象。

绝对定位position示范适用图、不规律布局,为即可利用position:absolute;position:relative进行绝对定位 绝对定位与float浮动不能同时使用,比如一个大盒子里有的是绝对定位,有的是使用css float浮动定位,这样IE6浏览器将不会显示改大对象里的这些绝对定位与相对定位,这也算是IE6 CSS HACK吧,注意不要混用即可。 三、绝对定位使用条件 position:absolute;position:relative绝对定位使用通常是父级定义position:relative定位,子级定义position:absolute绝对定位属性,并且子级使用left或right和top或bottom进行绝对定位。 .divcss5{position:relative} 定义,通常最好再定义CSS宽度和CSS高度 .divcss5-a{position:absolute;left:10px;top:10px} 这里定义了距离父级左侧距离间距为10px,距离父级上边距离为10px 或 .divcss5-a{position:absolute;right:10px;bottom:10px} 这里定义了距离父级靠右距离10px,距离父级靠下边距离为10px 对应HTML结构

这样就绝对定位了“divcss5-a”在父级“divcss5”盒子内。

CSS如何控制DIV在网页中的位置

在用DIV+CSS控制排版过程中,定位一直被人认为是一个难点,这里向大家描述一下DIV+CSS网页布局中CSS相对定位和CSS绝对定位用法,相信你一定会感兴趣。 本文和大家重点讨论一下DIV+CSS网页布局之CSS绝对定位和CSS相对定位,在用DIV+CSS控制排版过程中,定位一直被人认为是一个难点,这主要是表现为很多网友在没有深入理解清楚定位的原理时,排出来的杂乱网页常让他们不知所措。 详解DIV+CSS相对定位和CSS绝对定位用法 在用DIV+CSS控制排版过程中,定位一直被人认为是一个难点,这主要是表现为很多网友在没有深入理解清楚定位的原理时,排出来的杂乱网页常让他们不知所措,而另一边一些高手则常常借助定位的强大功能做出些很酷的效果来,比如CSS相册等等,因此自己杂乱的网页与高手完美的设计形成鲜明对比,这在一定程度上打击了初学定位的网友,也在他们心目中形成这样的一种思想:当我熟练地玩转DIV+CSS定位时,我就已是高手了。不管你怎么想,我只希望下面的教程能让你更深入地了解CSS定位属性。 阅读建议 先说说我这篇教程的思路,这对于你在正真开始阅教程前是有很大帮助的。我的思路是这样的:先给出定位较专业化精炼的解释,接下来再用打比如的方法形象地介绍它们,此时大家要和前面讲到的专业解释对比阅读。介绍完理论,将通过实例来介绍定位的各知识点,虽然实例不美,但每一则实例都是精心挑选的,如果要完整掌握DIV+CSS定位方法,请务必弄懂每一个实例的原理。最后将会带大家做一个较为酷的综合实例。如果你想提高你阅读本文的兴趣或者动力,你可以先跳到最后看综合实例的运行效果。 1.定位的专业解释 (1)语法 position:static|absolute|fixed|relative (2)说明 从上面语法可以看出,定位的方法有很多种,它们分别是静态(static),CSS绝对定位(absolute),固定(fixed),CSS相对定位(relative)。在这个教程里,我不逐一讲,只讲最常用也是最实用的两个定位方法:CSS绝对定位(absolute)、CSS相对定位(relative)。 CSS绝对定位(absolute):将被赋予此定位方法的对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父级对象进行CSS绝对定位,如果对象的父级没有设置定位属性,即还是遵循HTML定位规则的,则依据body对象左上角作为参考进行定位。CSS绝对定位对象可层叠,层叠顺序可通过z-index属性控制,z-index 值为无单位的整数,大的在最上面,可以有负值(目前负值FF不支持)。

学习css布局的一些思路

学习CSS布局的一些思路 你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该转换成对应的什么CSS语句。当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表,详细列出原来的表现属性用什么CSS来代替。 结构化HTML 我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用Photoshop或者Fireworks画出来、切割成小图。最后再通过编辑HTML将所有设计还原表现在页面上。 如果你希望你的HTML页面用CSS布局(是CSS-friendly的),你需要回头重来,先不考虑“外观”,要先思考你的页面内容的语义和结构。 外观并不是最重要的。一个结构良好的HTML页面可以以任何外观表现出来,CSS Zen Garden是一个典型的例子。CSS Zen Garden帮助我们最终认识到CSS的强大力量。 HTML不仅仅只在电脑屏幕上阅读。你用photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。但是一个结构良好的HTML页面可以通过CSS的不同定义,显示在任何地方,任何网络设备上。 开始思考 首先要学习什么是"结构",一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块,以及每块内容服务的目的,然后再根据这些内容目的建立起相应的HTML结构。 如果你坐下来仔细分析和规划你的页面结构,你可能得到类似这样的几块: 标志和站点名称 主页面内容 站点导航(主菜单) 子菜单 搜索框 功能区(例如购物车、收银台) 页脚(版权和有关法律声明) 我们通常采用DIV元素来将这些结构定义出来,类似这样:

CSS定位和浮动(实例操作)

CSS 定位和浮动 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。要知道,用户代理对CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪。 另一方面,CSS1 中首次提出了浮动,它以Netscape 在 Web 发展初期增加的一个功能为基础。浮动不完全是定位,不过,它当然也不是正常流布局。我们会在后面的章节中明确浮动的含义。 一切皆为框 div、h1 或p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。 您可以使用display 属性改变生成的框的类型。这意味着,通过将display 属性设置为block,可以让行内元素(比如 元素)表现得像块级元素一样。还可以通过把display 设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。 但是在一种情况下,即使没有进行显式定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素(比如div)的开头。即使没有把这些文本定义为段落,它也会被当作段落对待:

在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。 块级元素的文本行也会发生类似的情况。假设有一个包含三行文本的段落。每行文本形成一个无名框。无法直接对无名块或行框应用样式,因为没有可以应用样式的地方(注意,行框和行内框是两个概念)。但是,这有助于理解在屏幕上看到的所有东西都形成某种框。 CSS 定位机制 CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

相关文档