14

Googleは運が悪く、既存の色の質問もあり、色hrを変更する方法がわかりましたhr

borderデフォルトの色と同じ色でを作成したいのです<hr>が、正確な色がわかりません。

誰でも知っていますか?

追伸 - hr タグの色を変更する方法を知っています。変更する前にそれが何であるかを知りたいです。

4

9 に答える 9

11

水平ルーラーの色はブラウザによって異なりますが、hr次のようにして要素の色を取得できます。

el = document.querySelector("hr");
color = window.getComputedStyle(el).getPropertyValue("border-top-color");
console.log(color);

ただし、多くの場合、border-styleは差し込まれているため、表示される色は画面に表示される「実際の」値とは異なる場合があることに注意してください。次のいずれかを行います。

  • ボーダーに同じボーダースタイルを与えますhr
  • 「実際の」色を取得するためにデモで行ったように 、hr要素のボーダースタイルを設定しますsolid
  • -要素のボーダースタイルを取得し、hrそれに応じて色を調整します(計算が難しく、ブラウザに依存する場合があります)

適切な色を取得するデモをご覧ください。

于 2013-02-22T14:50:29.750 に答える
3

色はブラウザ/実装に依存するため、色を知ることはできません。

<hr>代わりに、 CSS を使用して好きなように要素の色を定義できます。

hr {
    color: red;
}

これで色が赤だということがわかりました!

更新:ブラウザによっては、coloror background-color(コメントを参照) を使用する必要があるようです。CSS で両方を使用するのが賢明なようです。

hr {
    color: red;
    background-color: red;
}
于 2013-02-22T14:37:14.347 に答える
3

w3 は hr 要素のデフォルトの色を定義していません ( http://www.w3.org/TR/CSS21/sample.html )。html5 のデフォルトのスタイルシートはまだ確認されていませんが、この事実を変更するべきではありません。

その結果、各ブラウザは独自のデフォルトを自由に適用できます。

于 2013-02-22T14:45:41.090 に答える
1

私の知る限り、OS (またはデバイス) に依存するため、「デフォルトの HR カラー」というものはありません。

于 2013-02-22T14:36:18.517 に答える
1

<hr>一部のブラウザでは、 s が単色の線としてレンダリングされないことに注意してください。

<hr>これは、Windows 上の Chrome 24の の左端を白い背景で拡大したスクリーンショットです。

ここに画像の説明を入力

そこで、2色からお選びいただけます。

于 2013-02-22T14:55:26.443 に答える
0

colorと_background-color

<hr />

hr {
    color: #f00;
    background-color: #f00;  
}

作業フィドル: http://jsfiddle.net/D2UaZ/1/

于 2013-02-22T14:48:33.027 に答える
-1

hr タグの正確な色はわかりませんが、以下の CSS コードは色を選択した色に変更します。

hr { display: block; height: 1px;
    border: 0; border-top: 1px solid #ccc;
    margin: 1em 0; padding: 0; }
于 2013-02-22T14:42:31.363 に答える