• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            [學習筆記] CSS 邊框

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

            元素的邊框 (border) 是圍繞元素內容和內邊距的一條或多條線。

            CSS border 屬性允許你規定元素邊框的樣式、寬度和顏色。

            CSS 邊框

            在 HTML 中,我們使用表格來創建文本周圍的邊框,但是通過使用 CSS 邊框屬性,我們可以創建出效果出色的邊框,并且可以應用于任何元素。

            元素外邊距內就是元素的的邊框 (border)。元素的邊框就是圍繞元素內容和內邊據的一條或多條線。

            每個邊框有 3 個方面:寬度、樣式,以及顏色。在下面的篇幅,我們會為您詳細講解這三個方面。

            邊框與背景

            CSS 規范指出,邊框繪制在“元素的背景之上”。這很重要,因為有些邊框是“間斷的”(例如,點線邊框或虛線框),元素的背景應當出現在邊框的可見部分之間。

            CSS2 指出背景只延伸到內邊距,而不是邊框。后來 CSS2.1 進行了更正:元素的背景是內容、內邊距和邊框區的背景。大多數瀏覽器都遵循 CSS2.1 定義,不過一些較老的瀏覽器可能會有不同的表現。

            邊框的樣式

            樣式是邊框最重要的一個方面,這不是因為樣式控制著邊框的顯示(當然,樣式確實控制著邊框的顯示),而是因為如果沒有樣式,將根本沒有邊框。

            CSS 的 border-style 屬性定義了 10 個不同的非 inherit 樣式,包括 none。

            例如,您可以為把一幅圖片的邊框定義為 outset,使之看上去像是“凸起按鈕”:

            a:link img {border-style: outset;}

            定義多種樣式

            您可以為一個邊框定義多個樣式,例如:

            p.aside {border-style: solid dotted dashed double;}

            上面這條規則為類名為 aside 的段落定義了四種邊框樣式:實線上邊框、點線右邊框、虛線下邊框和一個雙線左邊框。

            我們又看到了這里的值采用了 top-right-bottom-left 的順序,討論用多個值設置不同內邊距時也見過這個順序。

            定義單邊樣式

            如果您希望為元素框的某一個邊設置邊框樣式,而不是設置所有 4 個邊的邊框樣式,可以使用下面的單邊邊框樣式屬性:

            因此這兩種方法是等價的:

            p {border-style: solid solid solid none;} p {border-style: solid; border-left-style: none;} 

            注意:如果要使用第二種方法,必須把單邊屬性放在簡寫屬性之后。因為如果把單邊屬性放在 border-style 之前,簡寫屬性的值就會覆蓋單邊值 none。

            邊框的寬度

            您可以通過 border-width 屬性為邊框指定寬度。

            為邊框指定寬度有兩種方法:可以指定長度值,比如 2px 或 0.1em;或者使用 3 個關鍵字之一,它們分別是 thin 、medium(默認值) 和 thick。

            注釋:CSS 沒有定義 3 個關鍵字的具體寬度,所以一個用戶代理可能把 thin 、medium 和 thick 分別設置為等于 5px、3px 和 2px,而另一個用戶代理則分別設置為 3px、2px 和 1px。

            所以,我們可以這樣設置邊框的寬度:

            p {border-style: solid; border-width: 5px;}

            或者:

            p {border-style: solid; border-width: thick;}

            定義單邊寬度

            您可以按照 top-right-bottom-left 的順序設置元素的各邊邊框:

            p {border-style: solid; border-width: 15px 5px 15px 5px;}

            上面的例子也可以簡寫為(這樣寫法稱為值復制):

            p {border-style: solid; border-width: 15px 5px;}

            您也可以通過下列屬性分別設置邊框各邊的寬度:

            因此,下面的規則與上面的例子是等價的:

            p {   border-style: solid;   border-top-width: 15px;   border-right-width: 5px;   border-bottom-width: 15px;   border-left-width: 5px;   }

            沒有邊框

            在前面的例子中,您已經看到,如果希望顯示某種邊框,就必須設置邊框樣式,比如 solid 或 outset。

            那么如果把 border-style 設置為 none 會出現什么情況:

            p {border-style: none; border-width: 50px;}

            盡管邊框的寬度是 50px,但是邊框樣式設置為 none。在這種情況下,不僅邊框的樣式沒有了,其寬度也會變成 0。邊框消失了,為什么呢?

            這是因為如果邊框樣式為 none,即邊框根本不存在,那么邊框就不可能有寬度,因此邊框寬度自動設置為 0,而不論您原先定義的是什么?

            記住這一點非常重要。事實上,忘記聲明邊框樣式是一個常犯的錯誤。根據以下規則,所有 h1 元素都不會有任何邊框,更不用說 20 像素寬了:

            h1 {border-width: 20px;}

            由于 border-style 的默認值是 none,如果沒有聲明樣式,就相當于 border-style: none。因此,如果您希望邊框出現,就必須聲明一個邊框樣式。

            邊框的顏色

            設置邊框顏色非常簡單。CSS 使用一個簡單的 border-color 屬性,它一次可以接受最多 4 個顏色值。

            可以使用任何類型的顏色值,例如可以是命名顏色,也可以是十六進制和 RGB 值:

            p {   border-style: solid;   border-color: blue rgb(25%,35%,45%) #909090 red;   }

            如果顏色值小于 4 個,值復制就會起作用。例如下面的規則聲明了段落的上下邊框是藍色,左右邊框是紅色:

            p {   border-style: solid;   border-color: blue red;   }

            注釋:默認的邊框顏色是元素本身的前景色。如果沒有為邊框聲明顏色,它將與元素的文本顏色相同。另一方面,如果元素沒有任何文本,假設它是一個表格,其中只包含圖像,那么該表的邊框顏色就是其父元素的文本顏色(因為 color 可以繼承)。這個父元素很可能是 body、div 或另一個 table。

            定義單邊顏色

            還有一些單邊邊框顏色屬性。它們的原理與單邊樣式和寬度屬性相同:

            要為 h1 元素指定實線黑色邊框,而右邊框為實線紅色,可以這樣指定:

            h1 {   border-style: solid;   border-color: black;   border-right-color: red;   }

            透明邊框

            我們剛才講過,如果邊框沒有樣式,就沒有寬度。不過有些情況下您可能希望創建一個不可見的邊框。

            CSS2 引入了邊框顏色值 transparent。這個值用于創建有寬度的不可見邊框。請看下面的例子:

            <a href="#">AAA</a> <a href="#">BBB</a> <a href="#">CCC</a> 

            我們為上面的鏈接定義了如下樣式:

            a:link, a:visited {   border-style: solid;   border-width: 5px;   border-color: transparent;   } a:hover {border-color: gray;} 

            如需查看以上樣式的效果,請點擊:TIY

            從某種意義上說,利用 transparent,使用邊框就像是額外的內邊距一樣;此外還有一個好處,就是能在你需要的時候使其可見。這種透明邊框相當于內邊距,因為元素的背景會延伸到邊框區域(如果有可見背景的話)。

            重要事項:在 IE7 之前,IE/WIN 沒有提供對 transparent 的支持。在以前的版本,IE 會根據元素的 color 值來設置邊框顏色。

            CSS 邊框實例:

            所有邊框屬性在一個聲明之中
            本例演示用簡寫屬性來將所有四個邊框屬性設置于同一聲明中。
            設置四邊框樣式
            本例演示如何設置四邊框樣式。
            設置每一邊的不同邊框
            本例演示如何在元素的各邊設置不同的邊框。
            所有邊框寬度屬性在一個聲明之中
            本例演示用簡寫屬性來將所有邊框寬度屬性設置于同一聲明中。
            設置四個邊框的顏色
            本例演示如何設置四個邊框的顏色。可以設置一到四個顏色。
            所有下邊框屬性在一個聲明中
            本例演示用簡寫屬性來將所有下邊框屬性設置在同一聲明中。
            設置下邊框的顏色
            本例演示如何設置下邊框的顏色。
            設置下邊框的樣式
            本例演示如何設置下邊框的樣式。
            設置下邊框的寬度
            本例演示如何設置下邊框的寬度。
            所有左邊框屬性在一個聲明之中
            所有左邊框屬性在一個聲明之中
            設置左邊框的顏色
            本例演示如何設置左邊框的顏色。
            設置左邊框的樣式
            本例演示如何設置左邊框的樣式。
            設置左邊框的寬度
            本例演示如何設置左邊框的寬度。
            所有右邊框屬性在一個聲明之中
            本例演示一個簡寫屬性,用于把所有右邊框屬性設置在一條聲明中。
            設置右邊框的顏色
            本例演示如何設置右邊框的顏色。
            設置右邊框的樣式
            本例演示如何設置右邊框的樣式。
            設置右邊框的寬度
            本例演示如何設置右邊框的寬度。
            所有上邊框屬性在一個聲明之中
            本例演示用簡寫屬性來將所有上邊框屬性設置于同一聲明之中。
            設置上邊框的顏色
            本例演示如何設置上邊框的顏色。
            設置上邊框的樣式
            本例演示如何設置上邊框的樣式。
            設置上邊框的寬度
            本例演示如何設置上邊框的寬度。

            CSS 邊框屬性

            屬性描述
            border簡寫屬性,用于把針對四個邊的屬性設置在一個聲明。
            border-style用于設置元素所有邊框的樣式,或者單獨地為各邊設置邊框樣式。
            border-width簡寫屬性,用于為元素的所有邊框設置寬度,或者單獨地為各邊邊框設置寬度。
            border-color簡寫屬性,設置元素的所有邊框中可見部分的顏色,或為 4 個邊分別設置顏色。
            border-bottom簡寫屬性,用于把下邊框的所有屬性設置到一個聲明中。
            border-bottom-color設置元素的下邊框的顏色。
            border-bottom-style設置元素的下邊框的樣式。
            border-bottom-width設置元素的下邊框的寬度。
            border-left簡寫屬性,用于把左邊框的所有屬性設置到一個聲明中。
            border-left-color設置元素的左邊框的顏色。
            border-left-style設置元素的左邊框的樣式。
            border-left-width設置元素的左邊框的寬度。
            border-right簡寫屬性,用于把右邊框的所有屬性設置到一個聲明中。
            border-right-color設置元素的右邊框的顏色。
            border-right-style設置元素的右邊框的樣式。
            border-right-width設置元素的右邊框的寬度。
            border-top簡寫屬性,用于把上邊框的所有屬性設置到一個聲明中。
            border-top-color設置元素的上邊框的顏色。
            border-top-style設置元素的上邊框的樣式。
            border-top-width設置元素的上邊框的寬度。
            午夜精品久久久内射近拍高清| 99国产欧美精品久久久蜜芽| 亚洲国产精品综合久久一线| 婷婷久久综合九色综合绿巨人| 97精品伊人久久久大香线蕉| 国产精品福利一区二区久久| 精品国产热久久久福利| 九九精品久久久久久噜噜| 久久精品毛片免费观看| 久久久综合香蕉尹人综合网| 亚洲色大成网站www久久九| 久久免费高清视频| 免费无码国产欧美久久18| 成人a毛片久久免费播放| 亚洲狠狠婷婷综合久久蜜芽 | 狠狠色丁香久久婷婷综| 久久精品国产99国产精品| 国产成人精品综合久久久| 国产精品永久久久久久久久久| 色8久久人人97超碰香蕉987| 久久夜色精品国产亚洲av| 久久综合久久久| 色诱久久久久综合网ywww| 久久久久国色AV免费观看| 久久r热这里有精品视频| 欧美牲交A欧牲交aⅴ久久| 狠狠色婷婷久久综合频道日韩 | 久久久久99精品成人片| 久久久久亚洲AV无码麻豆| 久久久久久综合网天天| 伊人久久大香线蕉综合网站| 久久久久久久综合日本| 精品无码久久久久久久久久| 亚洲一本综合久久| 国产精品日韩深夜福利久久| 99热精品久久只有精品| 国产成人综合久久久久久| 国产精品va久久久久久久| 久久精品免费网站网| 久久夜色撩人精品国产小说| 一级A毛片免费观看久久精品|