CSS中position的详细讲解(代码示例)

不言
不言 原创
2018-11-02 17:37:41 2403浏览

本篇文章给大家分享的内容是关于CSS中position的详细讲解(代码示例),有需要的朋友可以参考一下,希望对你有所帮助。

CSS position属性功能多样且功能强大。它允许设置或改变元素的位置。它有4个可能的值:static (默认值)、relative、absolute、fixed。(推荐课程:css视频教程

它通常与4个坐标属性一起使用:left、right、top、bottom

static

这是默认 position值:静态元素仅遵循自然流程。他们不受任何left,right,top或bottom值。

relative

当position设置为relative时,元素可以根据其当前位置移动。

<p>汉皇重色思倾国,御宇多年求不得。杨家有女初长成,养在深闺人未识。天生丽质难自弃,一朝选在君王侧。回眸一笑百媚生,六宫粉黛无颜色。春寒赐浴华清池,温泉水滑洗凝脂。侍儿扶起娇无力,始是新承恩泽时。</p>
<p>云鬓花颜金步摇,芙蓉帐暖度春宵。春宵苦短日高起,从此君王不早朝。承欢侍宴无闲暇,春从春游夜专夜。后宫佳丽三千人,三千宠爱在一身。金屋妆成娇侍夜,玉楼宴罢醉和春。</p>
<p>姊妹弟兄皆列土,可怜光彩生门户。遂令天下父母心,不重生男重生女。骊宫高处入青云,仙乐风飘处处闻。缓歌慢舞凝丝竹,尽日君王看不足。渔阳鼙鼓动地来,惊破霓裳羽衣曲。</p>
p{ border: 1px solid blue;}

效果如下:

360截图20181102171637413.jpg

让我们继续看下去:

<p>九重城阙烟尘生,千乘万骑西南行。翠华摇摇行复止,西出都门百余里。六军不发无奈何,宛转蛾眉马前死。花钿委地无人收,翠翘金雀玉搔头。君王掩面救不得,回看血泪相和流。黄埃散漫风萧索,云栈萦纡登剑阁。</p>
<p class="second">峨嵋山下少人行,旌旗无光日色薄。蜀江水碧蜀山青,圣主朝朝暮暮情。行宫见月伤心色,夜雨闻铃肠断声。天旋地转回龙驭,到此踌躇不能去。马嵬坡下泥土中,不见玉颜空死处。</p>
<p>君臣相顾尽沾衣,东望都门信马归。归来池苑皆依旧,太液芙蓉未央柳。芙蓉如面柳如眉,对此如何不泪垂。春风桃李花开日,秋雨梧桐叶落时。</p>
p{ border: 1px solid blue;}
.second{ position: relative;border:1px solid red; left: 20px; top: 10px;}

效果如下:

360截图20181102172636055.jpg

红色边框从左侧移动20像素和从上方移动了10像素,相对于它的天然位置,在那里的应该是它正确的位置。

注意蓝色段落根本没有移动过。通过使用相对定位,红色段落可以自由移动而不会破坏布局。唯一不合适的就是除了它本身所有其他元素都不知道元素已移动。

absolute

当position设置为absolute时,元素可以根据第一个定位的元素移动。

“定位?什么是定位元素?“

定位元素是一个其position值是relative,absolute或fixed。所以,除非位置未设置或静态的,一个元素才被定位。

定位元素的特征是它可以作为其子元素的参考点。

让我们想象一个简单的层次结构:

<section>
  I'm in position relative.
  <p>
    I'm in position absolute!
  </p>
</section>
section {
  background: gold;
  height: 200px;
  padding: 10px;
  position: relative; /* This turns the <section> into a point of reference for the <p> */
}
p {
  background: limegreen;
  color: white;
  padding: 10px;
  position: absolute; /* This makes the <p> freely movable */
  bottom: 10px; /* 10px from the bottom */
  left: 20px; /* 20px from the left */
}

效果如下:

360截图20181102173202012.jpg

黄色部分的高度为200px,其位置设置为relative,将其转换为所有子元素的参考点。

当绿色段落的位置设置为时absolute,它可以根据黄色部分自由移动。通过设置bottom和left值,它将向左下角移动。

如果我们设置左和右会发生什么?

如果width没有设置,施加left: 0和right: 0将伸展在整个宽度的元件。它相当于设置left: 0和width: 100%。

如果width设置,则right丢弃该值。

fixed

当position设置为固定时,它的作用类似于绝对定位:您可以设置左/右和上/下坐标。

唯一的区别是参考点是视口。这意味着固定元素不会随页面滚动 ; 它固定在屏幕上。

以上就是CSS中position的详细讲解(代码示例)的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。