css中的position属性

在css布局中,position发挥了极其重要的作用,很多的网页布局都要用position来完成。position有四个属性值static、absolute、relative、fixed。

static

这个属性表示默认的位置,在设置它的时候,可以取消继承属性,在一般情况下则不需要设置这个属性。

absolute

这个属性表示绝对定位。绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置就会相对于最初的包含块。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。就比如说,上一个块使用absolute定位之后,下一个快不设置,那么这两块就会重叠到一起。元素定位后生成一个块级框,不管它原来在正常流中生成何种类型的框。比如,对一个元素进行绝对定位,然后通过设置垂直或水平位置,让这个元素相对于它的起点进行移动。

如果将 top 设置为 10px,那么框将在包含它的容器顶部下面 10 像素的地方。如果 left 设置为 10 像素,那么框相对于它的容器左边框 向右素移动10像素。

relative

这个属性表示相对定位,设置为相对定位的元素框会偏移某个距离。元素仍然保持其未定位前的形状,它原本所占的空间仍保留。

如果对一个元素进行相对定位,然后可以通过设置垂直或水平位置,让这个元素相对于它的起点进行移动。

如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像素的地方。如果 left 设置为 30 像素,那么会在元素左边创建 30 像素的空间,也就是将元素向右移动。

fixed

这个属性表示固定定位,它用于相对于浏览器窗口定位,如果将 top 设置为 20px,那么框将在相对于窗口顶部下面 20 像素的地方,其他位置同理,也可以用百分比来表示位置。

它的效果是,不论如何拉动浏览器的滚动条,设置了该属性的元素不会改变位置。

下面这段代码,是我用定位做的一个布局。它的效果是:

如果我们能灵活运用position的几种属性,就能做出许多漂亮美观的布局。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#big{
width:500px;
height:500px;
border:1px solid green;
position:relative;
}
#div1{
width:20px;
height:300px;
background:lightblue;
position:absolute;
left:239px;
top:200px;
}
#div2{
width:400px;
height:400px;
position:absolute;
left:50px;
top:0px;
}
#a{
width:200px;
height:200px;
position:absolute;
left:100px;
top:px;
}
#a1{
width:100px;
height:100px;
position:absolute;
left:100px;
background:yellow linear-gradient(135deg,white, yellow);
border-radius:0 100% 0 0;

}
#a2{
width:100px;
height:100px;
position:absolute;
left:100px;
top:100px;
background:yellow linear-gradient(30deg,white, yellow);
border-radius:0 0 100% 0;
}
#b{
width:200px;
height:200px;
position:absolute;
left:199px;
top:100px;
}
#b1{
width:100px;
height:100px;
position:absolute;
left:100px;
top:100px;
background:green linear-gradient(-45deg,white, green);
border-radius:0 0 100% 0;
}
#b2{
width:100px;
height:100px;
position:absolute;
left:px;
top:100px;
background:green linear-gradient(45deg,white, green);
border-radius:0 0 0 100% ;
}
#c{
width:200px;
height:200px;
position:absolute;
left:100px;
top:200px;
}
#c1{
width:100px;
height:100px;
position:absolute;
left:0px;
top:px;
background:purple linear-gradient(180deg,white, purple);
border-radius:100% 0 0 0;
}
#c2{
width:100px;
height:100px;
position:absolute;
left:0px;
top:100px;
background:purple linear-gradient(2deg,white, purple);
border-radius:0 0 0 100% ;
}
#d{
width:200px;
height:200px;
position:absolute;
left:0px;
top:100px;
}
#d1{
width:100px;
height:100px;
position:absolute;
left:100px;
top:0px;
background:red linear-gradient(270deg,white, red);
border-radius:0 100% 0 0;
}
#d2{
width:100px;
height:100px;
position:absolute;
left:px;
top:0px;
background:red linear-gradient(90deg,white, red);
border-radius:100% 0 0 0;
}
</style>
</head>
<body>
<div id="big">
<div id="div1"></div>
<div id="div2">
<div id="line1"></div>
<div id="line2"></div>
<div id="a">
<div id="a1"></div>
<div id="a2"></div>
</div>
<div id="b">
<div id="b1"></div>
<div id="b2"></div>
</div>
<div id="c">
<div id="c1"></div>
<div id="c2"></div>
</div>
<div id="d">
<div id="d1"></div>
<div id="d2"></div>
</div>
</div>
</div>
</body>
</html>

时间: 2024-08-04 03:36:46

css中的position属性的相关文章

CSS中的Position属性和Float属性

Css中的position很重要,常用有以下几个值:static,relative,absolute,fixed.Inherit. Static:静态定位.如果你没有设置position属性,那么缺省就是static.top.left.right.bottom等 属性,在static的情况下是无效的,要使用这些属性,必须把position设置为其他三个值之一. Relative:相对定位.元素将按照静态定位时的位置进行调整,在静态定位中分配给元素的空间仍会分 配给他,他两边的元素不会向它靠近来填

css中关于position属性的探究(原创)

关于position属性的设置,头脑中一直觉得不是很清楚,所以借助这次机会单独自己测试了一下,记作学习笔记. 首先,css的position属性包含下面四种设置情况: static:默认属性.指定元素按照常规的文档内容刘(从左到右,从上到下)进行定位. absolute:独立定位,它的定位要么是相对于最近的定位祖先元素,要么是相对于文档本身. fixed:该值指定元素是相对于浏览器窗口进行定位的.不会随着文档其他部分而滚动. relative:元素按照常规文档流进行布局,它的定位相对于文档流中的

深入理解css中的定位属性:position

深入理解css中的定位属性:position 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.relative.absolute. 第一部分:static static定位是HTML元素的默认值,即没有定位,元素出现在正常的流中,因此,这种定位就不会收到top,bottom,left,right的影响. 如html代码如下: <div class=&qu

对CSS中的Position、Float属性的一些深入探讨

非常好的一篇文章,特此转载出来,文章转自:http://www.cnblogs.com/coffeedeveloper/p/3145790.html 对于Position.Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不清晰的地方.本文主要对这两个属性使用上的一个介绍以及两个属性交叉使用上的一些探讨. 本文主要探讨点: Position.Float属性的基本使用方法 Position.Float属性对元素所造成的影响 Posi

深入理解css中的margin属性

转载自  http://www.cnblogs.com/zhuzhenwei918/p/6124263.html 深入理解css中的margin属性 之前我一直认为margin属性是一个非常简单的属性,但是最近做项目时遇到了一些问题,才发现margin属性还是有一些"坑"的,下面我会介绍margin的基本知识以及那些"坑".这篇博文主要分为以下几个部分: margin--基础知识 margin--在同级元素(非父子关系)之间应用 margin--在父元素和子元素之间

CSS中的z-index属性如何使用

原文:CSS中的z-index属性如何使用 z-index属性介绍# 只有设置了定位我们才会使用到该z-index属性,如:固定定位.相对定位.绝对定位. 定位元素默认的z-index属性值是0. 如果2个定位的元素都没有设置z-index属性,后者会覆盖到前者. 如果2个定位的元素都设置了z-index属性,并且数值一样大还是后者会覆盖到前者. z-index属性的属性值大的就会覆盖小,就是设置元素的层级. z-index属性实践# 用实践证明这句话,如果2个定位的元素都没有设置z-index

CSS中的!important属性用法

关于CSS的运用技巧有很多, 今天主要探讨一下CSS中 !important 这个属性的用法.在CSS的使用中,遇到最多的问题就是不同浏览器之间的兼容问题. 由于IE并不严格执行W3C标准, 而又几乎垄断了浏览器市场. 所以作为一名合格的网站制作人员, 必须要针对不同的浏览器进行微调. 实现不同浏览器之间兼容的方法有很多, 比如利用JS探测用户的浏览器类型,从而调用不同的样式表. 或者就是利用!important 属性来实现微调的效果. 下面是具体的例子. 下面是一段普通的 DIV 代码: 下面

css中之margin属性

css中之margin属性 css中的margin属性看似简单,但是有时稍有不慎,就会造成错误.这篇博文我会和大家分享将margin属性用在父元素和子元素之间可能出现的状况. 例1: 效果如下所示: 对于这样的结果毫无疑问,可是如果我们希望绿色的div可以靠下面一些,即上边不要紧贴着红色div.既然是两个div的间距,我们可以在绿色div上使用margin-top来使之分离吗?看下面的例子. 例2 我们在上面(例1)的代码中加margin-top:50px;于绿色div的css中,效果如下所示:

css中background背景属性概

css中background背景属性概 background:url(背景图片路径)  no-repeat;/*不重复默认在左上方*/ background:url(背景图片路径)  no-repeat center;/*不重复背景图片中间显示*/ background:url(背景图片路径)  no-repeat bottom center;/*不重复背景图片底部中间显示*/ background:url(背景图片路径)  no-repeat right top;/*不重复背景图片右上方显示*