• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            [學(xué)習(xí)筆記] CSS 定位 (Positioning)

            Posted on 2011-05-28 21:11 RTY 閱讀(237) 評論(0)  編輯 收藏 引用 所屬分類: CSS

            CSS 定位 (Positioning) 屬性允許你對元素進(jìn)行定位。

            CSS 定位和浮動

            CSS 為定位和浮動提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來通常需要使用多個表格才能完成的任務(wù)。

            定位的基本思想很簡單,它允許你定義元素框相對于其正常位置應(yīng)該出現(xiàn)的位置,或者相對于父元素、另一個元素甚至瀏覽器窗口本身的位置。顯然,這個功能非常強(qiáng)大,也很讓人吃驚。要知道,用戶代理對 CSS2 中定位的支持遠(yuǎn)勝于對其它方面的支持,對此不應(yīng)感到奇怪。

            另一方面,CSS1 中首次提出了浮動,它以 Netscape 在 Web 發(fā)展初期增加的一個功能為基礎(chǔ)。浮動不完全是定位,不過,它當(dāng)然也不是正常流布局。我們會在后面的章節(jié)中明確浮動的含義。

            一切皆為框

            div、h1 或 p 元素常常被稱為塊級元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span 和 strong 等元素稱為“行內(nèi)元素”,這是因?yàn)樗鼈兊膬?nèi)容顯示在行中,即“行內(nèi)框”。

            您可以使用 display 屬性改變生成的框的類型。這意味著,通過將 display 屬性設(shè)置為 block,可以讓行內(nèi)元素(比如 <a> 元素)表現(xiàn)得像塊級元素一樣。還可以通過把 display 設(shè)置為 none,讓生成的元素根本沒有框。這樣的話,該框及其所有內(nèi)容就不再顯示,不占用文檔中的空間。

            但是在一種情況下,即使沒有進(jìn)行顯式定義,也會創(chuàng)建塊級元素。這種情況發(fā)生在把一些文本添加到一個塊級元素(比如 div)的開頭。即使沒有把這些文本定義為段落,它也會被當(dāng)作段落對待:

            <div> some text <p>Some more text.</p> </div> 

            在這種情況下,這個框稱為無名塊框,因?yàn)樗慌c專門定義的元素相關(guān)聯(lián)。

            塊級元素的文本行也會發(fā)生類似的情況。假設(shè)有一個包含三行文本的段落。每行文本形成一個無名框。無法直接對無名塊或行框應(yīng)用樣式,因?yàn)闆]有可以應(yīng)用樣式的地方(注意,行框和行內(nèi)框是兩個概念)。但是,這有助于理解在屏幕上看到的所有東西都形成某種框。

            CSS 定位機(jī)制

            CSS 有三種基本的定位機(jī)制:普通流、浮動和絕對定位。

            除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (X)HTML 中的位置決定。

            塊級框從上到下一個接一個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。

            行內(nèi)框在一行中水平布置。可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過,設(shè)置行高可以增加這個框的高度。

            在下面的章節(jié),我們會為您詳細(xì)講解相對定位、絕對定位和浮動。

            CSS position 屬性

            通過使用 position 屬性,我們可以選擇 4 種不同類型的定位,這會影響元素框生成的方式。

            position 屬性值的含義:

            static
            元素框正常生成。塊級元素生成一個矩形框,作為文檔流的一部分,行內(nèi)元素則會創(chuàng)建一個或多個行框,置于其父元素中。
            relative
            元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。
            absolute
            元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會關(guān)閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。
            fixed
            元素框的表現(xiàn)類似于將 position 設(shè)置為 absolute,不過其包含塊是視窗本身。

            提示:相對定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬τ谒谄胀髦械奈恢谩?/p>

            實(shí)例

            定位:相對定位
            本例演示如何相對于一個元素的正常位置來對其定位。
            定位:絕對定位
            本例演示如何使用絕對值來對元素進(jìn)行定位。
            定位:固定定位
            本例演示如何相對于瀏覽器窗口來對元素進(jìn)行定位。
            使用固定值設(shè)置圖像的上邊緣
            本例演示如何使用固定值設(shè)置圖像的上邊緣。
            使用百分比設(shè)置圖像的上邊緣
            本例演示如何使用百分比值設(shè)置圖像的上邊緣。
            使用像素值設(shè)置圖像的底部邊緣
            本例演示如何使用像素值設(shè)置圖像的底部邊緣。
            使用百分比設(shè)置圖像的底部邊緣
            本例演示如何使用百分比值設(shè)置圖像的底部邊緣。
            使用固定值設(shè)置圖像的左邊緣
            本例演示如何使用固定值設(shè)置圖像的左邊緣。
            使用百分比設(shè)置圖像的左邊緣
            本例演示如何使用百分比值設(shè)置圖像的左邊緣。
            使用固定值設(shè)置圖像的右邊緣
            本例演示如何使用固定值設(shè)置圖像的右邊緣。
            使用百分比設(shè)置圖像的右邊緣
            本例演示如何使用百分比值設(shè)置圖像的右邊緣。
            如何使用滾動條來顯示元素內(nèi)溢出的內(nèi)容
            本例演示當(dāng)元素內(nèi)容太大而超出規(guī)定區(qū)域時,如何設(shè)置溢出屬性來規(guī)定相應(yīng)的動作。
            如何隱藏溢出元素中溢出的內(nèi)容
            本例演示在元素中的內(nèi)容太大以至于無法適應(yīng)指定的區(qū)域時,如何設(shè)置 overflow 屬性來隱藏其內(nèi)容。
            如何設(shè)置瀏覽器來自動地處理溢出
            本例演示如何設(shè)置瀏覽器來自動地處理溢出。
            設(shè)置元素的形狀
            本例演示如何設(shè)置元素的形狀。此元素被剪裁到這個形狀內(nèi),并顯示出來。
            垂直排列圖象
            本例演示如何在文本中垂直排列圖象。
            Z-index
            Z-index可被用于將在一個元素放置于另一元素之后。
            Z-index
            上面的例子中的元素已經(jīng)更改了Z-index。

            CSS 定位屬性

            CSS 定位屬性允許你對元素進(jìn)行定位。

            屬性描述
            position把元素放置到一個靜態(tài)的、相對的、絕對的、或固定的位置中。
            top定義了一個定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。
            right定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。
            bottom定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。
            left定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。
            overflow設(shè)置當(dāng)元素的內(nèi)容溢出其區(qū)域時發(fā)生的事情。
            clip設(shè)置元素的形狀。元素被剪入這個形狀之中,然后顯示出來。
            vertical-align設(shè)置元素的垂直對齊方式。
            z-index設(shè)置元素的堆疊順序。
            无码国内精品久久人妻蜜桃| 久久AV高清无码| 亚洲欧美成人久久综合中文网| 久久精品亚洲乱码伦伦中文| 国产99久久久国产精品小说| 国内精品久久久久影院一蜜桃 | 国产精品狼人久久久久影院| 久久国产香蕉一区精品| 久久这里只有精品18| 久久无码一区二区三区少妇| 久久久久亚洲AV无码专区体验| 久久久久国产成人精品亚洲午夜| 久久久久久久人妻无码中文字幕爆| 久久久久99精品成人片三人毛片 | 国产精品成人久久久久三级午夜电影 | 久久久久女教师免费一区| 麻豆精品久久久久久久99蜜桃 | 2021国内久久精品| 一本色道久久88加勒比—综合| 亚洲精品乱码久久久久久中文字幕| 国内精品久久久久久久coent| 久久精品亚洲一区二区三区浴池 | 久久99国产精品久久99| 亚洲中文字幕伊人久久无码| 亚洲成色999久久网站| 久久久久久久久久久久中文字幕| 亚洲伊人久久综合中文成人网| 99国内精品久久久久久久| 久久久国产精品亚洲一区| 丁香色欲久久久久久综合网| 久久人妻少妇嫩草AV蜜桃| 国产精品美女久久久免费| 国产激情久久久久影院小草 | 亚洲午夜精品久久久久久浪潮 | 一本大道久久a久久精品综合| 99久久这里只有精品| 久久男人Av资源网站无码软件 | 久久人人爽人爽人人爽av| 久久国产精品免费一区二区三区| 国内精品久久久久久野外| 久久免费精品视频|