【问题标题】:Custom styling progress bar in CSSCSS中的自定义样式进度条
【发布时间】:2017-02-17 06:19:04
【问题描述】:

我有一个进度条,我想改变它的默认样式。

我尝试了一些东西,但没有达到我的预期。

我想改变进度条的背景颜色和边框半径。

当我设置背景颜色时,它会从默认的蓝色变为绿色,而不是我设置的颜色。

<progress class="amount-progress" value="60500" max="120000">70 %</progress>

你可以看到fiddle

当我设置background-color 时,颜色会从蓝色变为绿色,而绿色则必须变为不同的蓝色。

我希望进度条有一个平滑的边缘。

我确实设置了border-radius,但这也没有成功。

.amount-progress {
  width: 80%;
  margin-left: -11.5%;
  height: 22px;
  background-color: #0091EA;
}

【问题讨论】:

标签: html css


【解决方案1】:

您必须使用 HTML5 进度条套件。这些是当前用于样式化 HTML5 进度条的全部选择器:

progress {
  /* style rules */
}
progress::-webkit-progress-bar {
  /* style rules */
}
progress::-webkit-progress-value {
  /* style rules */
}
progress::-moz-progress-bar {
  /* style rules */
}

所以:

progress {
  border-radius: 7px; 
  width: 80%;
  height: 22px;
  margin-left: -11.5%;
  box-shadow: 1px 1px 4px rgba( 0, 0, 0, 0.2 );
}
progress::-webkit-progress-bar {
  background-color: yellow;
  border-radius: 7px;
}
progress::-webkit-progress-value {
  background-color: blue;
  border-radius: 7px;
  box-shadow: 1px 1px 5px 3px rgba( 255, 0, 0, 0.8 );
}
progress::-moz-progress-bar {
  /* style rules */
}
&lt;progress value="3333" max="10000"&gt;33%&lt;/progress&gt;

要记住的一点是,有两种类型的进度条:indeterminatedeterminate。如果您使用上述内容,您将更改两者的样式。如果您只想更改确定栏的样式,您可以执行以下操作。如果您想为不确定的进度条设置不同的样式,例如使用圆形微调器或类似的东西,这将非常有用。

progress {
    display: block;
}

    /* Determinate: */

    progress[value] {
      /* style rules */
    }
    progress[value]::-webkit-progress-bar {
      /* style rules */
    }
    progress[value]::-webkit-progress-value {
      /* style rules */
    }
    progress[value]::-moz-progress-bar {
      /* style rules */
    }

    /* Indeterminate: */

    progress:not([value]) {
      /* style rules */
    }
    progress:not([value])::-webkit-progress-bar {
      /* style rules */
    }
    progress:not([value])::-webkit-progress-value {
      /* style rules */
    }
    progress:not([value])::-moz-progress-bar {
      /* style rules */
    }
<p>Determinate:</p>

<progress value="66" max="100">Determinate</progress>

<p>Indeterminate:</p>

<progress>Indeterminate</progress>

【讨论】:

  • 如何将颜色变为绿色?
  • progress[value]::-webkit-progress-value { background-color: your-color-choice; }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-26
  • 2023-01-20
  • 2022-01-26
  • 1970-01-01
  • 2014-01-29
  • 2019-04-05
  • 1970-01-01
相关资源
最近更新 更多