div中的相对定位与绝对定位.doc
文本预览下载声明
div中的相对定位与绝对定位(转)
这一段时间打算完全用CSS的DIV编写一个页面,做了两天思绪就有点乱了。 有的时候把某一个问题单独抽出来看感觉很简单。而复合起来就难的多,各种各样的问题就来了。 程序中最讨厌的就是找BUG了。思路前后衔接不上,捋不清头绪,看的头都大了。 家里有两个高手,不过却很少问。就像我的东西一定要从头到尾由我经手来做,那才是我的东西。呵呵~ **************************************** 学习笔记:呵呵~~这次的笔记比较多 定位标签:position 包含的属性:relative(相对)与 absolute(绝对) 1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动。(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框) 例如:#mybox{ position:relative; left:20px; top:20px; } 效果就是使这个层向下和向左移动了20px。 2.position:absolute; 表示绝对定位,位置将依据浏览器左上角的0点开始计算, 绝对定位使元素与文档流无关,因此不占据空间。普通文档流中其这元素的布局就像绝对定位的元素不存在时一样。它相对于最近的已定位的祖先元素。如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。根据用户代理的不同,最初的包含块可能是画布事HTML元素。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制这些框的堆放次序。z-index的值越高,框在堆中的位置就越高。) 那么有个问题产生了,现在大家做的网页大部分是居中的,那么我需要这个元素跟着网页 中的某个元素位置不论分辨率是多少他的位置始终是针对页内的某个元素的,那么单纯的 absolute是不行的。 正确的解决方法就是在元素的父级元素定义为position:relative;(更正:这里可以是祖父 级,也可以是position:absolute;)需要绝对定位的元素设为position:absolute; 这样再设定top,right,bottom,left的值就可以了,这样其定位的参照标准就是父级的左上角padding的左上侧! ******************************************************************************** 在网上载了一段文章收藏: CSS单元的位置和层次-div标签 我们都知道,在网页上利用HTML定位文字和图象是一件“令人心痛”的事情。我们必须使用表格标签和隐式GIF图象,即使这样也不能保证定位的精确,因为浏览器和操作平台的不同会使显示的结果发生变化。 而CSS能使你看到希望的曙光。利用今天我们即将学到的CSS属性,你可以精确地设定要素的位置,还能将定位的要素叠放在彼此之上,还有...还有......你自己慢慢看吧! Cascading Style Sheets(CSS)是 DHTML 的基础。CSS 用来设定你网页上的元素是如何展示的。Cascading Style Sheets Positioning(CSS-P)是 CSS 的一个扩展,它可用来控制任何东西在网页上或是说在窗口中的位置。请你记住这两个名词:CSS 和 CSS-P。下面四个英文网址提供了详细的关于 CSS 和 CSS-P 的文件和解释。 ● 1.使用 DIV 标签 (div) 当我们使用 CSS-P 的时候, 我们主要把它用在 DIV(division)tag 上。当你把文字,图象,或其他的放在 DIV 中,它可称作为“DIV block”,或“DIV element”或“CSS-layer”,或干脆叫“layer”。而中文我们把它称作“层次”。所以当你以后看到这些名词的时候,你就知道它们是指一段在 DIV 中的 HTML。 使用 DIV 的方法跟使用其他 tag 的方法一样: DIVThis is a DIV tag ./DIV 如果单独使用 DIV 而不加任何 CSS-P, 那么它在网页中的效果和使用 P/P 是一样的。 但当我们把 CSS-P 用到 DIV 中去以后,我么就可以严格设定它的位置。首先我们需要给这个可以被 CSS-P 控制的 DIV 一个 ID 或说是它的名字。比如说我们给下面这个 DIV 的名字是 truck。给名字的目的是我们以后可用 javascript 来控制
显示全部