首頁 >web前端 >html教學 >自訂html中Progress的樣式

自訂html中Progress的樣式

黄舟
黄舟原創
2017-07-08 14:10:041948瀏覽

Progress 元素是 HTML5 標準草稿中新增的元素之一,W3C 關於此元素的定義請猛擊這裡。預設情況下,Progress 會產生一個和系統預設樣式一樣的進度條。 Webkit 中對於 Progress 的預設樣式定義在這裡可以找到。在Windows 7 和MaxOS Lion 中的顯示效果如下:

自訂html中Progress的樣式

自訂html中Progress的樣式

看起來看起來不錯,但是如果運行在Windows XP 下呢?想一下就夠頭痛了,何況出於一致性的考慮,很多情況下我們還是想能夠控​​制這個進度條的樣式。

查看了Webkit 專案中關於Element Progress 的定義,Progress 在渲染時會被解析成以下結構:

<progress>
    ┗ <p> ::-webkit-progress-bar
         ┗ <p>::-webkit-progress-value

透過::-webkit-progress-bar 和::-webkit- progress-value 兩個偽元素選擇符(之前偽元素的名稱是::-webkit-progress-bar-value,今年上半年的某個Patch 改成了現在這樣,這裡可以看到Chromium 中一個相關的Issue ),可以定義第一層和第二層的兩個p 的樣式。

範例:

progress {
    border-radius: 2px;
    border-left: 1px #ccc solid;
    border-right: 1px #ccc solid;
    border-top: 1px #aaa solid;
    background-color: #eee;
}
 
progress::-webkit-progress-bar {
    background-color: #d7d7d7;
}
 
progress::-webkit-progress-value {
    background-color: #aadd6a;
}

以上CSS 可以定義一個如下效果的Progress Bar:

自訂html中Progress的樣式

同時支援CSS 動畫、背景圖片等特性哦,這樣就可以根據自己的需求打造一個完全個人化的Progress Bar 了。另外 Gecko 核心的瀏覽器也可以透過一個類似的偽元素 ::-moz-progress-bar 來達到相同的效果。 IE 全係不支援此元素(這簡直是一定的)。

以上是自訂html中Progress的樣式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn