欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS position:absolute全面了解

  發(fā)布時(shí)間:2016-07-20 09:11:42   作者:佚名   我要評論
下面小編就為大家?guī)硪黄狢SS position:absolute全面了解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

一、絕對定位的特征

絕對定位有著與浮動(dòng)一樣的特性,即包裹性和破壞性。

就破壞性而言,浮動(dòng)僅僅破壞了元素的高度,保留了元素的寬度;而絕對定位的元素高度和寬度都沒有了。

請看下面代碼:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8">  
  5.         <title>絕對定位的特征</title>  
  6.         <style>  
  7.             .box1,.box2,.box3 {   
  8.                 background-color: orange;   
  9.                 margin-bottom: 30px;   
  10.             }   
  11.   
  12.             .absolute {   
  13.                 position: absolute;   
  14.             }   
  15.   
  16.             .wraper {   
  17.                 display:inline-block;   
  18.                 margin-left: 300px;   
  19.             }   
  20.   
  21.             .float {   
  22.                 float: left;   
  23.             }   
  24.                
  25.             .box3 {   
  26.                 position: absolute;   
  27.             }   
  28.         </style>  
  29.     </head>  
  30.     <body>  
  31.         <div class="box1">  
  32.             <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  33.             <img src="http://pic1.win4000.com/wallpaper/c/537b28b60619b.jpg" alt="A picture" style="width:240px;height:180px" />  
  34.             <p>這是普通流中的兩幅圖像。</p>  
  35.         </div>  
  36.         <div class="box2">  
  37.             <img class="absolute" src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  38.             <img src="http://pic1.win4000.com/wallpaper/c/537b28b60619b.jpg" alt="A picture" style="width:240px;height:180px" />  
  39.   
  40.             <div class="wraper">  
  41.                 <img class="float" src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  42.                 <img src="http://pic1.win4000.com/wallpaper/c/537b28b60619b.jpg" alt="A picture" style="width:240px;height:180px" />  
  43.             </div>  
  44.             <p>左圖,將第一幅圖像絕對定位,其完全脫離文檔流,并且覆蓋在第二幅圖像之上;由此看出,絕對定位的破壞性不僅讓元素沒有了高度,甚至沒有了寬度。</p>  
  45.             <p>右圖,將第一幅圖像左浮動(dòng),其雖然脫離了文檔流,但是并沒有覆蓋在其他元素之上;浮動(dòng)的破壞性僅僅破壞了元素的高度,而保留了元素的寬度。</p>  
  46.         </div>  
  47.         <div class="box3">  
  48.             <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  49.             <img src="http://pic1.win4000.com/wallpaper/c/537b28b60619b.jpg" alt="A picture" style="width:240px;height:180px" />  
  50.             <p>將容器絕對定位,體現(xiàn)其包裹性。</p>  
  51.         </div>  
  52.     </body>  
  53. </html>  

二、絕對定位的一般規(guī)則:

元素絕對定位時(shí),會(huì)完全脫離文檔流,并相對于其包含塊定位。

絕對定位的包含塊,是其最近的已定位的祖先元素。

如果這個(gè)祖先元素是塊級(jí)元素,包含塊則為該祖先元素的內(nèi)邊距邊界,即邊框。

如果這個(gè)祖先元素是行內(nèi)元素,包含塊則為該祖先元素的內(nèi)容邊界,即內(nèi)容區(qū)。

如果沒有已定位的祖先元素,元素的包含塊定義為初始包含塊。

偏移屬性:top、right、bottom、left。

如果絕對定位的元素沒有設(shè)置偏移屬性,雖然脫離文檔流,但是它的位置是原地不動(dòng)的。

偏移屬性可以為負(fù)值,將元素定位到包含塊之外。

代碼在這里:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8">  
  5.         <title>絕對定位的一般規(guī)則</title>  
  6.         <style>  
  7.             body {   
  8.                 background-color: #ccc;   
  9.             }   
  10.             .container {   
  11.                 width:500px;   
  12.                 background-color: orange;   
  13.                 margin:20px auto 50px auto;   
  14.                 padding:20px;   
  15.                 border:2px solid red;   
  16.             }   
  17.   
  18.             .box2 img,.box3 img,   
  19.             .box4 img,.box5 img {   
  20.                 position: absolute;   
  21.             }   
  22.   
  23.             .box3 img,.box4 img {   
  24.                 left:0;   
  25.                 bottom:0;   
  26.             }   
  27.   
  28.             .box5 img {   
  29.                 left: -30px;   
  30.                 bottom: -50px;   
  31.             }   
  32.   
  33.             .block {   
  34.                 position :relative;   
  35.                 height: 200px;   
  36.             }   
  37.         </style>  
  38.     </head>  
  39.     <body>  
  40.         <div class="container">  
  41.             <div class="box1">  
  42.                 <p>元素絕對定位時(shí),會(huì)完全脫離文檔流,并相對于其包含塊定位。絕對定位的包含塊,是其最近的已定位的祖先元素。</p>  
  43.                 <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  44.                 <ul>  
  45.                     <li>如果這個(gè)祖先元素是塊級(jí)元素,包含塊則為該祖先元素的內(nèi)邊距邊界,即邊框。</li>  
  46.                     <li>如果這個(gè)祖先元素是行內(nèi)元素,包含塊則為該祖先元素的內(nèi)容邊界,即內(nèi)容區(qū)。</li>  
  47.                     <li>如果沒有已定位的祖先元素,元素的包含塊定義為初始包含塊(一個(gè)視窗大小的矩形)。</li>         
  48.                 </ul>  
  49.             </div><!--關(guān)閉box1-->  
  50.         </div><!--關(guān)閉container-->  
  51.         <div class="container">  
  52.             <div class="box2">  
  53.             <p>不管有沒有已經(jīng)定位的祖先元素,只要沒有偏移量,絕對定位之后,原地不動(dòng),脫離文檔流。</p>  
  54.             <p>下面這個(gè)已經(jīng)絕對定位的圖像原地沒動(dòng),但是已經(jīng)脫離了文檔流。</p>  
  55.             <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  56.             </div><!--關(guān)閉box2-->  
  57.         </div><!--關(guān)閉container-->  
  58.         <div class="container">  
  59.             <div class="box3">  
  60.                 <p>沒有已經(jīng)定位的祖先元素,有偏移量,絕對定位之后,以初始包含塊(一個(gè)視窗大小的矩形)為基準(zhǔn)進(jìn)行偏移。</p>  
  61.                 <p>當(dāng)偏移量為left:0; buttom:0時(shí),圖像水平偏移到了初始包含塊左下角(打開網(wǎng)頁最開始的那一個(gè)視窗的左下角)。</p>  
  62.                 <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  63.             </div><!--關(guān)閉box3-->  
  64.         </div><!--關(guān)閉container-->  
  65.         <div class="container block">  
  66.             <div class="box4">  
  67.                 <p>有已經(jīng)定位的祖先元素,有偏移量,絕對定位之后,以已經(jīng)定位的祖先元素為基準(zhǔn)進(jìn)行偏移。</p>  
  68.                 <p>此處已經(jīng)定位的祖先元素為這個(gè)圖像的容器div元素,偏移量為left:0; bottom:0時(shí),圖像到了這個(gè)容器的左下角(以邊框?yàn)榻纾?/span></p>  
  69.                 <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  70.             </div><!--關(guān)閉box4-->  
  71.         </div><!--關(guān)閉container-->  
  72.         <div class="container block">  
  73.             <div class="box5">  
  74.                 <p>有已經(jīng)定位的祖先元素,有偏移量,絕對定位之后,以已經(jīng)定位的祖先元素為基準(zhǔn)進(jìn)行偏移。</p>  
  75.                 <p>此處已經(jīng)定位的祖先元素為這個(gè)圖像的容器div元素,偏移量為left:-30px; bottom:-50px時(shí),圖像到了這個(gè)容器之外(以邊框?yàn)榻纾?/span></p>  
  76.                 <img src="http://a.hiphotos.baidu.com/zhidao/pic/item/72f082025aafa40fa38bfc55a964034f79f019ec.jpg" alt="A picture" style="width:175px;height:100px" />  
  77.             </div><!--關(guān)閉box5-->  
  78.         </div><!--關(guān)閉container-->  
  79.     </body>       
  80. </html>  

三、用margin調(diào)整絕對定位元素的位置

絕對定位的元素,除了可以使用top、right、bottom、left進(jìn)行偏移之外,還能夠通過margin值進(jìn)行精確定位,而且自適應(yīng)性更好。

示例:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8">  
  5.         <title>用margin調(diào)整絕對定位元素的位置</title>  
  6.         <style>  
  7.             .box1,.box2,.box3 {   
  8.                 display: inline-block;   
  9.                 margin-right: 150px;   
  10.                 border:1px solid blue;   
  11.             }   
  12.        
  13.             span {   
  14.                 background-color: red;   
  15.             }   
  16.        
  17.             .box2 span,.box3 span {   
  18.                 position: absolute;   
  19.             }   
  20.        
  21.             .meng {   
  22.                 margin-left: -3em;   
  23.             }   
  24.        
  25.             .box4 {   
  26.                 border:1px solid red;   
  27.                 width: 500px;   
  28.                 margin: 50px auto 0 auto;   
  29.                 padding:20px;   
  30.             }   
  31.   
  32.             li {   
  33.                 margin-bottom: 20px;   
  34.             }   
  35.         </style>  
  36.     </head>  
  37.     <body>  
  38.         <div class="box1">  
  39.             <span>卡哇伊</span>  
  40.             <img src="http://imgsrc.baidu.com/forum/w%3D580/sign=0c101fe665380cd7e61ea2e59145ad14/f9a3492762d0f7032de1758a08fa513d2797c542.jpg" style="width:200px;height:300px" />  
  41.             <span>萌萌噠</span>  
  42.         </div>  
  43.         <div class="box2">  
  44.             <span>卡哇伊</span>  
  45.             <img src="http://imgsrc.baidu.com/forum/w%3D580/sign=0c101fe665380cd7e61ea2e59145ad14/f9a3492762d0f7032de1758a08fa513d2797c542.jpg" style="width:200px;height:300px" />  
  46.             <span>萌萌噠</span>  
  47.             </div>       
  48.         <div class="box3">  
  49.             <span>卡哇伊</span>  
  50.             <img src="http://imgsrc.baidu.com/forum/w%3D580/sign=0c101fe665380cd7e61ea2e59145ad14/f9a3492762d0f7032de1758a08fa513d2797c542.jpg" style="width:200px;height:300px" />  
  51.             <span class="meng">萌萌噠</span>  
  52.         </div>       
  53.         <div class="box4">  
  54.             <ol>  
  55.                 <li>第一幅圖,最開始的樣子。</li>  
  56.                 <li>第二幅圖,兩個(gè)標(biāo)簽絕對定位,但是不指定任何偏移量。</li>  
  57.                 <li>第三幅圖,用margin負(fù)值調(diào)整“萌萌噠”的位置,完成。</li>  
  58.             </ol>  
  59.         </div>           
  60.     </body>  
  61. </html>  

放棄偏移屬性而改用margin來調(diào)整絕對定位元素,其原理在于:

絕對定位的元素,在不設(shè)置偏移量的時(shí)候,它雖然完全脫離了文檔流,但它還在原來的位置。

利用偏移屬性進(jìn)行精確定位,其具體位置是取決于絕對定位元素的包含塊,不同的包含塊將會(huì)有完全不一樣的定位結(jié)果。

而利用margin進(jìn)行精確定位,不依賴于任何其他東西,更加可控。

 

四、絕對定位與整體布局

如何用絕對定位來對頁面進(jìn)行整體布局?

簡單粗暴,不學(xué)就浪費(fèi)啦?。?!

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8">  
  5.         <title>絕對定位與整體頁面布局</title>  
  6.         <style>  
  7.             * {   
  8.                 margin: 0;   
  9.             }/*重置所有margin為0,這一步極其重要,否則布局必亂。*/   
  10.   
  11.             html,body,.page {   
  12.                 width: 100%;   
  13.                 height: 100%;   
  14.                 overflow: hidden;   
  15.             }   
  16.   
  17.             .page {   
  18.                 position: absolute;   
  19.                 top: 0;   
  20.                 right: 0;   
  21.                 bottom: 0;   
  22.                 left: 0;   
  23.                 background-color: #ccc;   
  24.             }   
  25.   
  26.             .header {   
  27.                 position: absolute;   
  28.                 height: 50px;   
  29.                 left: 0;   
  30.                 right: 0;   
  31.                 background-color: purple;   
  32.                 padding: 0 5px;   
  33.                 z-index: 1;   
  34.             }   
  35.   
  36.             .header>h1 {   
  37.                 line-height: 50px;   
  38.                 text-align: center;   
  39.             }   
  40.   
  41.             .aside {   
  42.                 position: absolute;   
  43.                 top: 50px;   
  44.                 bottom: 50px;   
  45.                 left: 0;   
  46.                 width: 100px;   
  47.                 background-color: orange;   
  48.             }   
  49.   
  50.             .footer {   
  51.                 position: absolute;   
  52.                 right: 0;   
  53.                 bottom: 0;   
  54.                 left: 0;   
  55.                 height: 50px;   
  56.                 background-color: purple;   
  57.             }   
  58.   
  59.             .footer>h1 {   
  60.                 text-align: center;   
  61.                 line-height: 50px;   
  62.             }   
  63.   
  64.             .content {   
  65.                 position: absolute;   
  66.                 top: 50px;   
  67.                 right: 0;   
  68.                 bottom: 50px;   
  69.                 left: 100px;   
  70.                 background-color: cyan;   
  71.                 overflow: auto;   
  72.             }   
  73.   
  74.             .content h1 {   
  75.                 margin-top: 100px;   
  76.                 margin-left: 50px;   
  77.             }   
  78.   
  79.             .content li {   
  80.                 margin-left: 100px;   
  81.                 margin-top: 80px;   
  82.                 font-size: 24px;   
  83.                 line-height: 1.5;   
  84.             }   
  85.   
  86.             ol {   
  87.                 margin-bottom: 80px;   
  88.             }   
  89.         </style>  
  90.     </head>  
  91.     <body>  
  92.         <div class="page">  
  93.             <div class="header">  
  94.                 <h1>Header</h1>  
  95.             </div>  
  96.             <div class="aside">  
  97.                 <h1>Aside</h1>  
  98.             </div>  
  99.             <div class="content">  
  100.                 <h1>實(shí)現(xiàn)原理</h1>  
  101.                 <ol>  
  102.                     <li>創(chuàng)建一個(gè)div.page,絕對定位,鋪滿全屏。</li>  
  103.                     <li>創(chuàng)建一個(gè)div.header,絕對定位,設(shè)定高度。</li>  
  104.                     <li>創(chuàng)建一個(gè)div.aside,絕對定位,設(shè)定寬度。</li>  
  105.                     <li>創(chuàng)建一個(gè)div.footer,絕對定位,設(shè)定高度。</li>  
  106.                     <li>創(chuàng)建一個(gè)div.content,絕對定位,根據(jù)周圍div的寬高設(shè)定它的寬高;<br />  
  107.                     以div.content元素取代原body元素,所有的頁面內(nèi)容都放在這里面。</li>  
  108.                 </ol>  
  109.             </div>  
  110.             <div class="footer">  
  111.                 <h1>Footer</h1>  
  112.             </div>  
  113.         </div>  
  114.     </body>  
  115. </html>  

以上這篇CSS position:absolute全面了解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

原文地址:http://www.cnblogs.com/cc156676/archive/2016/07/19/5685300.html

相關(guān)文章

  • 淺談CSS中display/float/position屬性值的相互影響

    下面小編就為大家?guī)硪黄獪\談CSS中display/float/position屬性值的相互影響。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-17
  • css(display,float,position)深入理解

    下面小編就為大家?guī)硪黄猚ss(display,float,position)深入理解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-17
  • css position 設(shè)置元素的定位方式詳解

    下面小編就為大家?guī)硪黄猚ss position 設(shè)置元素的定位方式詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-05
  • CSS 定位之position全面了解

    下面小編就為大家?guī)硪黄狢SS 定位之position全面了解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-08
  • 使用CSS3的ruby-position固定注音位置的用法示例

    ruby-position能在樣式上定制文字周圍的注音位置,頁面編碼設(shè)置好以后可以用來制作各種語言之間的加注翻譯效果,下面我們來看一下使用CSS3的ruby-position固定注音位置的用法
    2016-07-05
  • 總結(jié)CSS的position定位屬性在使用的一些重點(diǎn)

    這篇文章主要總結(jié)了CSS的position定位屬性在使用的一些重點(diǎn),包括對絕對定位和相對定位等的強(qiáng)調(diào),需要的朋友可以參考下
    2016-05-31
  • css關(guān)于position屬性的用法詳解(絕對定位和相對定位的混淆)

    下面小編就為大家?guī)硪黄猚ss關(guān)于position屬性的用法詳解(絕對定位和相對定位的混淆)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-08

最新評論