回答
<div id="progressbar">
<div></div>
</div>
#progressbar {
background-color: black;
border-radius: 13px; /* (height of inner div)/2 + padding */
padding: 3px;
}
#progressbar > div {
background-color: orange;
width: 40%; /* Adjust with JavaScript */
height: 20px;
border-radius: 10px;
}
(編輯:更改語法高亮,改變傳人子選擇器)
創建一個顯示條的左側部分(圓形部分)的元素,也爲右側部分創建一個元素。 對於實際的進度條,創建一個重複背景和寬度取決於實際進度的第三個元素。 把它放在背景圖片的頂部(包含空的進度條)。
不過,我想你已經知道了......
編輯:當創建不使用文本背景的進度條。您可以使用border-radius
獲得圓角效果,如Rikudo Sennin和RoToRa所示!
謝謝。 不,我不知道:] – Shahin
http://jsfiddle.net/cwZSW/1406/
#progress {
background: #333;
border-radius: 13px;
height: 20px;
width: 300px;
padding: 3px;
}
#progress:after {
content: '';
display: block;
background: orange;
width: 50%;
height: 100%;
border-radius: 9px;
}
<div id="progress"></div>
<div class="loading">
<span class="loader">
<span class="innerLoad">Loading...</span>
</span>
</div>
CSS
.loading{
position:relative;
width:50%;
height:200px;
border:1px solid rgba(160,160,164,0.2);
background-color:rgba(160,160,164,0.2);
border-radius:3px;
}
span.loader{
position:absolute;
top:40%;
left:10%;
width:250px;
height:20px;
border-radius:8px;
border:2px solid rgba(160,160,164,0.8);
padding:0;
}
span.loader span.innerLoad{
text-align:center;
width:140px;
font-size:15px;
font-stretch:extra-expanded;
color:#2A00FF;
padding:1px 18px 3px 80px;
border-radius:8px;
background: rgb(250,198,149);
background: -moz-linear-gradient(left, rgba(250,198,149,1) 0%, rgba(245,171,102,1) 47%, rgba(239,141,49,1) 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(250,198,149,1)), color-stop(47%,rgba(245,171,102,1)), color-stop(100%,rgba(239,141,49,1)));
background: -webkit-linear-gradient(left, rgba(250,198,149,1) 0%,rgba(245,171,102,1) 47%,rgba(239,141,49,1) 100%);
background: -o-linear-gradient(left, rgba(250,198,149,1) 0%,rgba(245,171,102,1) 47%,rgba(239,141,49,1) 100%);
background: -ms-linear-gradient(left, rgba(250,198,149,1) 0%,rgba(245,171,102,1) 47%,rgba(239,141,49,1) 100%);
background: linear-gradient(to right, rgba(250,198,149,1) 0%,rgba(245,171,102,1) 47%,rgba(239,141,49,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fac695', endColorstr='#ef8d31',GradientType=1);
}
我喜歡這一個:
非常光滑,只有以此爲HTML,其餘CSS3是向後兼容的(雖然們沒有多少養眼)
編輯下面 添加的代碼,而是直接從網頁上面拍攝,所有功勞都該作者
HTML
<div class="meter">
<span style="width: 33%"></span> <!-- I use my viewmodel in MVC to calculate the progress and then use @Model.progress to place it in my HTML with Razor -->
</div>
CSS
.meter {
height: 20px; /* Can be anything */
position: relative;
background: #555;
-moz-border-radius: 25px;
-webkit-border-radius: 25px;
border-radius: 25px;
padding: 10px;
-webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
-moz-box-shadow : inset 0 -1px 1px rgba(255,255,255,0.3);
box-shadow : inset 0 -1px 1px rgba(255,255,255,0.3);
}
.meter > span {
display: block;
height: 100%;
-webkit-border-top-right-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-topright: 8px;
-moz-border-radius-bottomright: 8px;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
-webkit-border-top-left-radius: 20px;
-webkit-border-bottom-left-radius: 20px;
-moz-border-radius-topleft: 20px;
-moz-border-radius-bottomleft: 20px;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
background-color: #f1a165;
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f1a165),color-stop(1, #f36d0a));
background-image: -webkit-linear-gradient(top, #f1a165, #f36d0a);
background-image: -moz-linear-gradient(top, #f1a165, #f36d0a);
background-image: -ms-linear-gradient(top, #f1a165, #f36d0a);
background-image: -o-linear-gradient(top, #f1a165, #f36d0a);
-webkit-box-shadow: inset 0 2px 9px rgba(255,255,255,0.3), inset 0 -2px 6px rgba(0,0,0,0.4);
-moz-box-shadow: inset 0 2px 9px rgba(255,255,255,0.3), inset 0 -2px 6px rgba(0,0,0,0.4);
position: relative;
overflow: hidden;
}
請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/信息)是不鼓勵的,所以答案應該是尋找解決方案的終點(而另一個參考的中途停留時間往往會隨着時間推移而變得陳舊)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra
@kleopatra,感謝您保持網站的可用性。我只知道鏈接(當然,像jsfiddle這樣的網站)是不鼓勵的。我將添加我使用的代碼。 –
爲什麼CA不只是爲狀態欄的每個部分創建多張圖片? 如果是第三個只顯示狀態欄的三分之一......這很簡單。您可能可以想出如何根據輸入的form標籤將其更改爲下一張圖片。 這裏是我的代碼的一部分,你必須弄清楚形式的東西后
<form> <!--(extra code)-->
<!--first progress bar:-->
<img src="directory"></img>
<!--second progress bar:-->
<img src="directory"></img>
<!--et caetera...-->
</form>
現在看來簡單,不是嗎?
同@ RoToRa的答案,有一些輕微的調整(正確的顏色和尺寸):
HTML
<div id="progressbar">
<div></div>
</div>
CSS
body{
background-color: #636363;
padding: 1em;
}
#progressbar {
background-color: #20201F;
border-radius: 20px; /* (heightOfInnerDiv/2) + padding */
padding: 4px;
}
#progressbar > div {
background-color: #F7901E;
width: 48%; /* Adjust with JavaScript */
height: 16px;
border-radius: 10px;
}
這裏的小提琴: jsFiddle
下面是它的樣子:
我設計了一個沒有JavaScript的替代方案。 百分比值隨着使用內嵌內容的進度而移動。 僅在webkit中測試。希望它能幫助:
CSS:
progress {
\t display:inline-block;
\t width:190px;
\t height:20px;
\t padding:15px 0 0 0;
\t margin:0;
\t background:none;
\t border: 0;
\t border-radius: 15px;
\t text-align: left;
\t position:relative;
\t font-family: Arial, Helvetica, sans-serif;
\t font-size: 0.8em;
}
progress::-webkit-progress-bar {
\t height:11px;
\t width:150px;
\t margin:0 auto;
\t background-color: #CCC;
\t border-radius: 15px;
\t box-shadow:0px 0px 6px #777 inset;
}
progress::-webkit-progress-value {
\t display:inline-block;
\t float:left;
\t height:11px;
\t margin:0px -10px 0 0;
\t background: #F70;
\t border-radius: 15px;
\t box-shadow:0px 0px 6px #777 inset;
}
progress:after {
\t margin:-26px 0 0 -7px;
\t padding:0;
\t display:inline-block;
\t float:left;
\t content: attr(value) '%';
}
<progress id="progressBar" max="100" value="77"></progress>
感謝您使用新的HTML5元素。乾杯! – Relic
進度條沒有嵌套的div ......每個元素在CSS線性漸變的作品。
這裏的jsfiddle http://jsfiddle.net/oj1L3y6t/2/
HTML + CSS +的Javascript
HTML
<div id="progress-0">Loading</div>
<input id="progress-1" value="Loading"></input>
<button id="progress-2">Loading</button>
<p id="progress-3">Loading</p>
CSS
#progress-0 {
border:1px solid black;
width:500px;
background:#999;
text-align:center;
}
#progress-1 {
border:1px solid black;
width:500px;
background:#999;
text-align:center;
margin-top:10px;
border-radius: 10px;
}
#progress-2 {
border:1px solid black;
width:500px;
background:#999;
text-align:center;
margin-top:10px;
}
#progress-3 {
border:1px solid black;
width:100px;
height:100px;
background:#999;
line-height: 100px;
text-align:center;
margin-top:10px;
border-radius: 200px;
}
JS
function show_progress(i) {
var progress1 = i;
var progress2 = progress1+1;
var progress3 = progress1+2;
var magic = "linear-gradient(to right, #FFC2CE " + progress1 + "% ,red " + progress2 + "% , #FFFFFF " + progress3 + "%)";
document.getElementById("progress-0").style.background = magic;
var magic = "linear-gradient(to right, lightblue " + progress1 + "% , lightgreen " + progress2 + "%)";
document.getElementById("progress-1").style.background = magic;
var magic = "linear-gradient(to right, lightblue " + progress1 + "% , #FFFFFF 100%)";
document.getElementById("progress-2").style.background = magic;
var magic = "linear-gradient(#FFC2CE " + progress1 + "% ,red " + progress2 + "% , #FFFFFF " + progress3 + "%)";
document.getElementById("progress-3").style.background = magic;
}
function timeout(){
t = setTimeout(function(){
show_progress(t)
timeout();
},50);
if (t == 78) { clearTimeout(t); }
console.log(t);
}
timeout();
如果您希望在不添加代碼的情況下擁有進度條PACE可以成爲您的絕佳工具。
只需包含pace.js和您選擇的CSS主題,即可獲得頁面加載和AJAX導航的美觀進度指示器。 PACE最好的事情是自動檢測進度。
它包含各種主題和配色方案。
值得一試。
有一個用於創建HTML5進度條here的教程。如果你不希望使用HTML5的方法,或者你正在尋找一個全功能的瀏覽器解決方案,試試這個代碼:
<div style="width: 150px; height: 25px; background-color: #dbdbdb;">
<div style="height: 25px; width:87%; background-color: gold"> </div>
</div>
您可以將彩金更改爲任意進度條的顏色和#dbdbdb的背景 - 你的進度條的顏色。
Meedo UEC製作的HTML5進度條教程使用全新的HTML5
.bar {
background - color: blue;
height: 40 px;
width: 40 px;
border - style: solid;
border - right - width: 1300 px;
border - radius: 40 px;
animation - name: Load;
animation - duration: 11 s;
position: relative;
animation - iteration - count: 1;
animation - fill - mode: forwards;
}
@keyframes Load {
100 % {
width: 1300 px;border - right - width: 5;
}
這是我用過的...對於一箇中學編碼項目來說,它並不是最漂亮的,但它起作用 –
不僅它不是最漂亮的,它也是無效的,並且不起作用。 CSS屬性中沒有空格。例如'background-color:blue;'需要是'background-color:blue;' – Matijs
- 1. 帶CSS的HTML進度條
- 2. 進度條在HTML/CSS
- 3. 進度條使用css的100%寬度
- 4. css進度條
- 5. CSS進度條
- 6. HTML進度條
- 7. 進度使用jQuery和CSS
- 8. W3.css使用jQuery UI進度條
- 9. HTML 5進度條
- 10. HTML PHP進度條
- 11. 進度條(下載)使用HTML 5
- 12. 使用jquery,html和css顯示多個文件上傳多個進度條
- 13. 動態循環進度條純CSS和HTML
- 14. 分別使用進度條和進度對話框的條件
- 15. 動態進度條Javascript和HTML
- 16. 使用進度條
- 17. 使用進度條?
- 18. 圓形進度條css
- 19. 引導進度條CSS Issuse
- 20. 垂直CSS/HTML5進度條
- 21. 圓形進度條(css)
- 22. 垂直CSS進度條
- 23. 如何用進度條填充透明圖像? #CSS #HTML #Jquery?
- 24. 設置HTML進度條
- 25. 特殊進度欄使用jQuery和CSS
- 26. 進度條未使用backgroundworker進度
- 27. 進度條線條消失CSS
- 28. Python3進度條和用gzip
- 29. 進度條與負值的.css(寬度)
- 30. 將進度條應用到html頁面
太棒了,非常感謝。 – Shahin
這工作得很好!謝謝! – nn2
不錯,簡單......如果可以,我會+10;) – Andre