Juste pour info, j'ai essayé de faire ce que vous avez fait avec une couleur différente et cela fonctionne dans Firefox 5 Beta, mais pas IE 9, jsfiddle.net/TGtSd
6
@Keoki Zee Ne fonctionne pas pour moi (Chrome).
Marty
1
@Marty background-color fonctionne dans Chrome, mais vous avez raison de ne pas colorer ... bizarre ...
2
chrome ne fonctionne pas, la couleur de fond ne fonctionne pas non plus pour moi
koool
2
D'accord, juste au cas où quelqu'un voudrait tester, voici un violon que j'ai utilisé jusqu'ici, jsfiddle.net/TGtSd/9 ...
Réponses:
1126
Je pense que vous devriez utiliser à la border-colorplace de color, si votre intention est de changer la couleur de la ligne produite par le <hr>tag.
Cependant, il a été souligné dans les commentaires que, si vous modifiez la taille de votre ligne, la bordure sera toujours aussi large que vous l'avez spécifié dans les styles, et la ligne sera remplie avec la couleur par défaut (ce qui n'est pas un effet souhaité la plupart des temps). Il semble donc que dans ce cas, vous devrez également spécifier background-color(comme @Ibu l'a suggéré dans sa réponse).
Le projet HTML 5 Boilerplate dans sa feuille de style par défaut spécifie la règle suivante:
Un article intitulé «12 faits CSS peu connus» , publié récemment par SitePoint, mentionne que vous <hr>pouvez le définir border-colorsur celui de son parent colorsi vous le spécifiez hr { border-color: inherit }.
Le problème avec border-color est que si vous agrandissez les heures, cela colore simplement la bordure, jsfiddle.net/TGtSd/9 ...
@Anton, ce n'est pas ce à quoi je faisais référence à propos de la taille des heures ... si vous augmentez la hauteur et que vous n'utilisez que la couleur de la bordure, vous obtiendrez un rectangle avec une bordure colorée, mais l'intérieur ne sera pas coloré ...
Pourquoi même s'embêter avec la frontière? Pourquoi ne pas simplement lui donner une couleur de fond et en finir avec cela? Edit: nvm, je n'ai pas vu la réponse sur la compatibilité du navigateur.
Lawyerson
119
border-colorfonctionne dans Chrome et Safari .
background-color fonctionne dans Firefox et Opera.
Si nous souhaitons que notre site soit visible sur tous les navigateurs, devons-nous tous les utiliser?
MEM
4
border-colorne fonctionne pas sur Chrome. Essayez de le régler sur blanc sur fond blanc. Ces deux fonctionnent: soit 1)color:white; border-style:solid; soit 2)border-color:white; border-style:solid; .
Pacerier
4
@Pacerier oui. Pourrait avoir besoin de spécifier un style et / ou une largeur
GôTô
l'information re. IE (au moins) est incorrect. 'border-color' fonctionne très bien dans IE; 'color' ne fonctionne pas (IE11)
taiji123
88
Je pense que cela peut être utile. c'était un simple sélecteur CSS.
l'arrière-plan est celui que vous devriez essayer de changer
Vous pouvez également travailler avec la couleur des bordures. je ne suis pas sûr que je pense qu'il y a des problèmes de croisement avec cela. vous devez le tester dans différents navigateurs
Je l'ai essayé dans Firefox 5 Beta, IE 9, Chrome, Opera et Safari ... vous êtes bon, ils fonctionnent tous;)
1
@kool, quelle partie ne fonctionne pas? Couleur de l'arrière plan? ou couleur de la bordure? je viens de tester la couleur de la bordure: bleu; et cela a fonctionné en chrome
Ibu
[border-color] fonctionne dans Chrome. [couleur d'arrière-plan] ne fonctionne pas. Je voterais si j'avais assez de représentants.
samthebrand
5
si vous utilisez la classe css, elle sera prise par toutes les balises 'hr', mais si vous voulez pour un 'hr' particulier, utilisez le code ci-dessous, c'est-à-dire css en ligne
<hrstyle="color:#99CC99"/>
si cela ne fonctionne pas dans Chrome, essayez le code ci-dessous:
Après avoir lu toutes les réponses ici, et vu la complexité décrite, je me suis mis à une petite diversion pour expérimenter avec les RH. Et, la conclusion est que vous pouvez jeter la plupart du CSS monkeypatch que vous avez écrit, lire cette petite introduction et utiliser simplement ces deux lignes de CSS pur:
hr {
border-style: solid;
border-color: cornflowerblue;/* or whatever */}
C'est TOUT ce dont vous avez besoin pour personnaliser vos RH.
J'ai pris un pari dans chaque sens: `` `hr {border-top: 1px solid purple; couleur de la bordure: violet; couleur de fond: violet; couleur violet; } ~~~
David Jones
Ne fonctionne pas dans Firefox, background-coloroui.
caram
4
Certains navigateurs utilisent l' colorattribut et certains utilisent l' background-colorattribut. Pour être sûr:
Il s'est avéré que c'était la réponse parfaite pour moi, même si je l'ai fait dans le passé en ajustant la bordure. BTW, Bootstrap 4 le fait de cette façon:.bg-light { background-color: #f8f9fa !important; }
nicorellius
2
Comme je n'ai pas la réputation de commenter, je vais vous donner ici quelques idées.
si vous voulez une hauteur variable css, enlevez toutes les bordures et donnez une couleur de fond.
hr{
height:2px;
border:0px;
background:green;
margin:0px;/*sometimes useful*/}/*Doesn't work in ie7 and below and in Quirks Mode*/
si vous voulez simplement un style qui fonctionne (exemple: pour remplacer une bordure dans un élément :: before pour la plupart des clients de messagerie ou
Avec cette méthode, vous pouvez être sûr qu'il aura au moins 2px de hauteur.
C'est une ligne de plus, mais la sécurité est la sécurité.
C'est la méthode que vous devez utiliser pour être compatible avec presque tout.
N'oubliez pas: Gmail détecte uniquement les CSS en ligne et certains clients de messagerie peuvent ne pas prendre en charge les arrière-plans ou les bordures. Si l'un échoue, vous aurez toujours une ligne 1px. Mieux que rien.
Dans le pire des cas, vous pouvez essayer d'ajouter color:blue;.
Dans le pire des cas, vous pouvez essayer d'utiliser une <font color="blue"></font>étiquette et y mettre votre précieuse <hr/>étiquette. Il héritera de la <font></font>couleur du tag.
Avec cette méthode, vous SEREZ voulez faire comme ceci: <hr width="50" align="left"/>.
Exemple:
<span>
awhieugfrafgtgtfhjjygfjyjg
<fontcolor="#42B3E5"><hrwidth="50"align="left"/></font></span><!--Doesn't work in ie7 and below and in Quirks Mode-->
Vous pouvez utiliser CSS pour créer une ligne avec une couleur différente, l'exemple serait comme ça:
border-left:1px solid rgb(216,216,216);
border-right: medium none;
border-width: medium medium medium 2px;
border-style: none none none solid;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(216,216,216);
Eh bien, je suis nouveau en HTML, CSS et en Java mais j'ai essayé mon chemin qui a fonctionné pour moi dans tous les navigateurs. J'ai utilisé JS au lieu de CSS qui ne fonctionne pas avec certains navigateurs .
Tout d'abord, j'ai donné id="myHR"à l'élément RH et l' ai utilisé dans Java Script.
Voici le code.
x = document.getElementById("myHR");
y = x.style.width ="600px";
y = x.style.color ="white";
y = x.style.height ="2px";
y = x.style.border ="none";
y = x.style.backgroundColor ="lightgrey";
En règle générale, vous ne pouvez pas simplement définir la couleur d'une ligne horizontale avec CSS comme vous le feriez pour toute autre chose. Tout d'abord, Internet Explorer a besoin de la couleur de votre CSS pour se lire comme ceci:
“Couleur: # 123455”
Mais Opera et Mozilla ont besoin de la couleur de votre CSS pour lire comme ceci:
"Couleur de fond: # 123455"
Vous devrez donc ajouter les deux options à votre CSS.
Ensuite, vous devrez donner à la ligne horizontale quelques dimensions ou elle sera par défaut à la hauteur, la largeur et la couleur standard définies par votre navigateur. Voici un exemple de code de ce à quoi votre CSS devrait ressembler pour obtenir la ligne horizontale bleue.
Réponses:
Je pense que vous devriez utiliser à la
border-color
place decolor
, si votre intention est de changer la couleur de la ligne produite par le<hr>
tag.Cependant, il a été souligné dans les commentaires que, si vous modifiez la taille de votre ligne, la bordure sera toujours aussi large que vous l'avez spécifié dans les styles, et la ligne sera remplie avec la couleur par défaut (ce qui n'est pas un effet souhaité la plupart des temps). Il semble donc que dans ce cas, vous devrez également spécifier
background-color
(comme @Ibu l'a suggéré dans sa réponse).Le projet HTML 5 Boilerplate dans sa feuille de style par défaut spécifie la règle suivante:
Un article intitulé «12 faits CSS peu connus» , publié récemment par SitePoint, mentionne que vous
<hr>
pouvez le définirborder-color
sur celui de son parentcolor
si vous le spécifiezhr { border-color: inherit }
.la source
border-color
fonctionne dans Chrome et Safari .background-color
fonctionne dans Firefox et Opera.color
fonctionne dans IE7 + .la source
border-color
ne fonctionne pas sur Chrome. Essayez de le régler sur blanc sur fond blanc. Ces deux fonctionnent: soit 1)color:white; border-style:solid;
soit 2)border-color:white; border-style:solid;
.Je pense que cela peut être utile. c'était un simple sélecteur CSS.
la source
Le faire de cette façon vous permet de modifier la hauteur si nécessaire. Bonne chance. Source: Comment styliser les RH avec CSS
la source
Testé dans Firefox, Opera, Internet Explorer, Chrome et Safari.
Voir le violon .
la source
Seul le bord supérieur avec de la couleur suffit pour rendre la ligne de couleur différente.
la source
Cela gardera la règle horizontale 1px épaisse tout en changeant également la couleur de celle-ci
la source
Je pense que c'est l'approche la plus efficace:
Ou si vous préférez le faire sur tous les éléments hr, écrivez ceci sur votre CSS:
la source
la source
l'arrière-plan est celui que vous devriez essayer de changer
Vous pouvez également travailler avec la couleur des bordures. je ne suis pas sûr que je pense qu'il y a des problèmes de croisement avec cela. vous devez le tester dans différents navigateurs
la source
si vous utilisez la classe css, elle sera prise par toutes les balises 'hr', mais si vous voulez pour un 'hr' particulier, utilisez le code ci-dessous, c'est-à-dire css en ligne
si cela ne fonctionne pas dans Chrome, essayez le code ci-dessous:
la source
Après avoir lu toutes les réponses ici, et vu la complexité décrite, je me suis mis à une petite diversion pour expérimenter avec les RH. Et, la conclusion est que vous pouvez jeter la plupart du CSS monkeypatch que vous avez écrit, lire cette petite introduction et utiliser simplement ces deux lignes de CSS pur:
C'est TOUT ce dont vous avez besoin pour personnaliser vos RH.
height
,width
,background-color
,color
, etc. impliqués.Des RH colorés à l'épreuve des balles. C'est aussi simple que TM .
Bonus: pour donner de la hauteur au HR
H
, il suffit de définir leborder-width
asH/2
.la source
background-color
oui.Certains navigateurs utilisent l'
color
attribut et certains utilisent l'background-color
attribut. Pour être sûr:la source
Je teste IE, Firefox et Chrome en mai 2015 et cela fonctionne mieux avec les versions actuelles. Il centre le HR et le rend large à 70%:
la source
Vous devez définir border-width à 0; Cela fonctionne bien dans Firefox et Chrome.
la source
C'est simple et mon préféré.
la source
Vous pouvez ajouter la classe bg bootstrap comme
la source
.bg-light { background-color: #f8f9fa !important; }
Comme je n'ai pas la réputation de commenter, je vais vous donner ici quelques idées.
si vous voulez une hauteur variable css, enlevez toutes les bordures et donnez une couleur de fond.
si vous voulez simplement un style qui fonctionne (exemple: pour remplacer une bordure dans un élément :: before pour la plupart des clients de messagerie ou
Dans les deux cas, si vous définissez une largeur, elle aura toujours sa taille.
Pas besoin de régler
display:block;
pour cela.Pour être totalement sûr, vous pouvez mélanger les deux, car certains navigateurs peuvent être confondus avec
height:0px;
:Avec cette méthode, vous pouvez être sûr qu'il aura au moins 2px de hauteur.
C'est une ligne de plus, mais la sécurité est la sécurité.
C'est la méthode que vous devez utiliser pour être compatible avec presque tout.
N'oubliez pas: Gmail détecte uniquement les CSS en ligne et certains clients de messagerie peuvent ne pas prendre en charge les arrière-plans ou les bordures. Si l'un échoue, vous aurez toujours une ligne 1px. Mieux que rien.
Dans le pire des cas, vous pouvez essayer d'ajouter
color:blue;
.Dans le pire des cas, vous pouvez essayer d'utiliser une
<font color="blue"></font>
étiquette et y mettre votre précieuse<hr/>
étiquette. Il héritera de la<font></font>
couleur du tag.Avec cette méthode, vous SEREZ voulez faire comme ceci:
<hr width="50" align="left"/>
.Exemple:
Voici un lien à vérifier: http://jsfiddle.net/sna2D/
la source
Vous pouvez utiliser CSS pour créer une ligne avec une couleur différente, l'exemple serait comme ça:
ce code affichera une ligne grise verticale.
la source
Eh bien, je suis nouveau en HTML, CSS et en Java mais j'ai essayé mon chemin qui a fonctionné pour moi dans tous les navigateurs. J'ai utilisé JS au lieu de CSS qui ne fonctionne pas avec certains navigateurs .
Tout d'abord, j'ai donné
id="myHR"
à l'élément RH et l' ai utilisé dans Java Script.Voici le code.
la source
Essayé pour de nombreuses couleurs
la source
L'utilisation des couleurs de police pour modifier les règles horizontales les rend plus flexibles et faciles à utiliser.
La
color
propriété n'est pas héritée par défaut, donc les éléments suivants doivent être ajoutés aux heures pour permettre l'héritage des couleurs:la source
Vous pouvez faire ceci:
la source
Vous pouvez donner la
<hr noshade>
balise et aller dans votre fichier css et ajouter:la source
En règle générale, vous ne pouvez pas simplement définir la couleur d'une ligne horizontale avec CSS comme vous le feriez pour toute autre chose. Tout d'abord, Internet Explorer a besoin de la couleur de votre CSS pour se lire comme ceci:
“Couleur: # 123455”
Mais Opera et Mozilla ont besoin de la couleur de votre CSS pour lire comme ceci:
"Couleur de fond: # 123455"
Vous devrez donc ajouter les deux options à votre CSS.
Ensuite, vous devrez donner à la ligne horizontale quelques dimensions ou elle sera par défaut à la hauteur, la largeur et la couleur standard définies par votre navigateur. Voici un exemple de code de ce à quoi votre CSS devrait ressembler pour obtenir la ligne horizontale bleue.
Ou vous pouvez simplement ajouter le style à votre page HTML directement lorsque vous insérez une ligne horizontale, comme ceci:
J'espère que cela t'aides.
la source
J'ai pris un pari dans chaque sens:
la source