巧用 position:absolute

1、跟随性

下面这种方法更加简便以及更方便维护,

例如“西部世界”,由于不用将父元素设为position:relative,position:absolute的位置也就不用根据文字多少而重新进行top、left等位置的计算。

<div class="item1">西部世界<i></i></div>
<div class="item2">
      <i></i>
      <img src="images/orange.jpg" alt=""><!--
      --><i></i>
</div>
.item1 i {
    position: absolute;
    background: url(images/hot.png) 0 0 no-repeat;
    width: 30px;
    height: 16px;
    margin: -6px 0 0 2px;
}
.item2 i:nth-child(1) {
    position: absolute;
    background: url(images/free-appointment.png) 0 0 no-repeat;
    width: 56px;
    height: 56px;
    margin: 0;
}

.item2 i:nth-child(3) {
    position: absolute;
    background: url(images/flag_niuzhuan.jpg) 0 0 no-repeat;
    width: 64px;
    height: 20px;
    margin-left: -64px;
  overflow:hidden;
  text-indent: -9em;
}

/*如果用文字不用图片*/
/* .item2 i:nth-child(1) {
    position: absolute;
    line-height:20px;
    background-color: #f60;
    padding: 0 5px;
    font-size: 12px;
    color: #fff;
} */

2、没有宽度没有高度,实现宽高满屏效果

上图是一个全屏的遮罩层,没有定义宽和高

<div class="mask"></div>
.mask {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(51, 51, 51,.5);
}
position: absolute;top: 0;left: 0;width: 50%; == position: absolute;top: 0;left: 0;right: 50%;

实现距离右侧200像素的全屏自适应的容器层  position: absolute;left: 0;right: 200px;但是width只能用css3 cale计算  position: absolute;left: 0;width: cale(100%-200px);

宽50%,上下铺满 width: 50%;position: absolute;top: 0;bottom: 0;

3、高度自适应布局

<div class="page">
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
    <div class="list"></div>
</div>
.page {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.list {
    background: #ECA7A5;
    width: 33.3%;
    height: 33.3%;
    border-radius: 50%;
    float: left;
    position: relative;
}

4、如果尺寸限制、拉伸以及margin:auto;同时出现,就会出现绝对定位元素的绝对居中效果!

<div class="item3"><img src="images/orange.jpg" alt=""></div>
.item3 {
    position: absolute;
    left: 0;
    right: 0;
    width: 200px;
    margin: auto;
}
时间: 2024-11-16 14:50:04

巧用 position:absolute的相关文章

CSS position:absolute浅析

一.绝对定位的特征 绝对定位有着与浮动一样的特性,即包裹性和破坏性. 就破坏性而言,浮动仅仅破坏了元素的高度,保留了元素的宽度:而绝对定位的元素高度和宽度都没有了. 请看下面代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>绝对定位的特征</title> 6 <style> 7 .box1,.box2,.b

css position: absolute、relative详解

CSS2.0 HandBook上的解释: 设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局.假如其他具有不同 z-index 属性的对象已经占据了给定的位置,他们之间不会相互影响,而会在同一位置层叠.此时对象不具有外补丁( margin ),但仍有内补丁( padding )和边框( border ). 要激活对象的绝对(absolute)定位,必须指定 left , right , top , bottom 属性中的至少一个,并且设置此属性值为 ab

css position:absolute 如何居中对齐

要写死宽度,就好弄了 position: absolute; left: 50%; width: 980px; margin-left: -490px; text-algin:center

层模型--绝对定位(position:absolute)

如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left.right.top.bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位.如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口. 如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px. div{ width:200px; height:200px; border:2px red solid

我所整理的float, inline-block还有position:absolute

这篇主要写了一下几个知识点: 浮动和inline-block的概念和选择 浮动和position:absolute对于脱离文档流的区别 这篇文章参考了一下几个链接: https://www.zhihu.com/question/24529373/answer/29135021 http://www.w3cplus.com/css/inline-blocks.html 感谢你们的无私分享以及钻研的精神. 浮动最早是用来实现文字环绕图片用的,而不是像现在很多地方用来砌砖头用. inline-bloc

绝对定位 position:absolute,相对定位 position:relative

<1> 当我们要使用绝对定位的时候,必须要有两个条件 1>必须给父元素加定位属性,一般建议使用 position:relative(即:给父元素设为相对定位); 2>给子元素,加绝对定位position:absolute(给子元素设置为绝对定位); 同时加方向属性(top ,left,rigth,bottom) 绝对定位是以父元素为基准点,进行定位(如果他没有父元素,或者它的父元素没有设置position:relative属性)它就会以<body>为基准点进行定位.绝对

position:absolute/relative/fixed小结

1.绝对定位:position:absolute; 当一个div块的位置被定义为绝对定位absolute时,也就意味着它失去了文档流的位置,后面的文档流会紧跟着补上来接替它的位置.如果上下左右的绝对偏移量都是0,那么它将漂浮在原来的位置上,否则,会根据相对该元素外的第一个非static属性的元素进行定位,如果没有非static属性的父元素,则相对于body定位.当偏移后超出浏览器视线的向下或向右的内容不会被隐藏,而是会出现滚动条,但是向左或向上的内容超出后会被隐藏. 2.相对定位:positio

【webQD】☆★之详解position: absolute、relative属性

[webQD]☆★之详解position: absolute.relative 首先我们来看一下W3C对position的解释: 我们再看,W3C对position属性值的解释: ok,我们需要了解的是: 其中absolute和relative是最常用的,fixed用得也比较多(其中IE6并不支持fixed). 1.absolute(绝对定位) absolute是生成觉对定位的元素,脱离了文本流(即在文档中已经不占据位置),参照浏览器的左上角通过top,right,bottom,left(简称T

position: absolute初始化位置

定位属性:left.right.top.bottom,定位属性是用来定位元素的位置的,四个方向可以设置位置. 堆叠顺序属性:z-index,堆叠顺序属性用来定义如果多个含有position属性的元素的堆叠顺序. position:absolute; 的起始位置,需要根据父级元素有无position属性来定位. PS: 利用这个属性可以某些特定场景下有比较大的作用.