@ Marty Hintergrundfarbe funktioniert in Chrome, aber Sie haben Recht, nicht Farbe ... seltsam ...
2
Chrom funktioniert nicht Hintergrundfarbe auch funktioniert nicht für mich
Koool
2
Okay, nur für den Fall, dass jemand testen möchte, hier ist eine Geige, die ich bisher gemacht habe, jsfiddle.net/TGtSd/9 ...
Antworten:
1125
Ich denke, Sie sollten border-colorstattdessen verwenden color, wenn Sie die Farbe der vom <hr>Tag erzeugten Linie ändern möchten.
In Kommentaren wurde jedoch darauf hingewiesen, dass der Rand beim Ändern der Größe Ihrer Linie immer noch so breit ist, wie Sie es in den Stilen angegeben haben, und die Linie mit der Standardfarbe gefüllt wird (was in den meisten Fällen kein gewünschter Effekt ist Zeit). In diesem Fall müssten Sie also auch angeben background-color(wie @Ibu in seiner Antwort vorgeschlagen hat).
Das HTML 5 Boilerplate- Projekt in seinem Standard-Stylesheet gibt die folgende Regel an:
In einem kürzlich von SitePoint veröffentlichten Artikel mit dem Titel „12 wenig bekannte CSS-Fakten“ wird erwähnt, dass er auf die übergeordneten Werte <hr>gesetzt werden kann, wenn Sie dies angeben .border-colorcolorhr { border-color: inherit }
@Anton das ist nicht das, worauf ich mich bei der Größe der Stunde bezog ... Wenn Sie die Höhe erhöhen und nur Randfarbe verwenden, erhalten Sie ein Rechteck mit einem farbigen Rand, aber das Innere wird es nicht sein farbig ...
Warum sich überhaupt um die Grenze kümmern? Warum nicht einfach eine Hintergrundfarbe geben und damit fertig sein? Edit: nvm, ich habe die Antwort zur Browserkompatibilität nicht gesehen.
Anwalt
119
border-colorfunktioniert in Chrome und Safari .
background-color funktioniert in Firefox und Opera.
Wenn wir möchten, dass unsere Website in allen Browsern angezeigt wird, sollten wir sie alle verwenden?
MEM
4
border-colorfunktioniert nicht in Chrome. Versuchen Sie, es auf weißem Hintergrund auf Weiß einzustellen. Diese beiden funktionieren: Entweder 1)color:white; border-style:solid; oder 2)border-color:white; border-style:solid; .
Pacerier
4
@ Pacerier ja das tut es. Möglicherweise müssen Sie einen Stil und / oder eine Breite angeben
GôTô
die Informationen zu. IE ist (zumindest) falsch. 'Rahmenfarbe' funktioniert gut im IE; 'Farbe' nicht (IE11)
taiji123
88
Ich denke, das kann nützlich sein. Dies war eine einfache CSS-Auswahl.
Der Hintergrund ist derjenige, den Sie ändern sollten
Sie können auch mit der Rahmenfarbe arbeiten. Ich bin mir nicht sicher, ob es Crossbrowser-Probleme gibt. Sie sollten es in verschiedenen Browsern testen
Ich habe es in Firefox 5 Beta, IE 9, Chrome, Opera und Safari versucht ... du bist gut, sie funktionieren alle;)
1
@kool, welcher Teil funktioniert nicht? Hintergrundfarbe? oder Randfarbe? Ich habe gerade die Randfarbe getestet: blau; und es funktionierte in Chrom
Ibu
[Rahmenfarbe] funktioniert in Chrome. [Hintergrundfarbe] nicht. Ich würde abstimmen, wenn ich genug Repräsentanten hätte.
Samthebrand
5
Wenn Sie die CSS-Klasse verwenden, wird sie von allen 'hr'-Tags verwendet. Wenn Sie jedoch eine bestimmte' hr'-Klasse verwenden möchten, verwenden Sie den folgenden Code, dh Inline-CSS
<hrstyle="color:#99CC99"/>
Wenn es nicht in Chrome funktioniert, versuchen Sie es mit dem folgenden Code:
Nachdem ich alle Antworten hier gelesen und die beschriebene Komplexität gesehen hatte, machte ich eine kleine Ablenkung, um mit HR zu experimentieren. Und die Schlussfolgerung ist, dass Sie den größten Teil des von Ihnen geschriebenen monkeypatched CSS wegwerfen, diesen kleinen Primer lesen und einfach diese beiden Zeilen reinen CSS verwenden können:
hr {
border-style: solid;
border-color: cornflowerblue;/* or whatever */}
Das ist ALLES, was Sie brauchen, um Ihre HRs zu gestalten.
Ich teste auf IE, Firefox und Chrome im Mai 2015 und dies funktioniert am besten mit den aktuellen Versionen. Es zentriert die Personalabteilung und macht sie zu 70% breit:
Es stellte sich heraus, dass dies die perfekte Antwort für mich war, obwohl ich es in der Vergangenheit getan habe, indem ich den Rand angepasst habe. Übrigens, Bootstrap 4 macht es so:.bg-light { background-color: #f8f9fa !important; }
Nicorellius
2
Da ich keinen Ruf zum Kommentieren habe, werde ich hier ein paar Ideen geben.
Wenn Sie eine variable CSS-Höhe wünschen, entfernen Sie alle Ränder und geben Sie eine Hintergrundfarbe an.
hr{
height:2px;
border:0px;
background:green;
margin:0px;/*sometimes useful*/}/*Doesn't work in ie7 and below and in Quirks Mode*/
Wenn Sie einfach einen Stil möchten, von dem Sie wissen, dass er funktioniert (Beispiel: Ersetzen eines Rahmens in einem :: before-Element für die meisten E-Mail-Clients oder
Mit dieser Methode können Sie sicher sein, dass die Höhe mindestens 2 Pixel beträgt.
Es ist eine Linie mehr, aber Sicherheit ist Sicherheit.
Dies ist die Methode, die Sie verwenden sollten, um mit fast allem kompatibel zu sein.
Denken Sie daran: Google Mail erkennt nur Inline-CSS und einige E-Mail-Clients unterstützen möglicherweise keine Hintergründe oder Rahmen. Wenn einer fehlschlägt, haben Sie immer noch eine 1px-Leitung. Besser als nichts.
Im schlimmsten Fall können Sie versuchen, hinzuzufügen color:blue;.
Im schlimmsten Fall können Sie versuchen, ein <font color="blue"></font>Tag zu verwenden und Ihr wertvolles <hr/>Tag darin zu platzieren. Es wird die <font></font>Tag-Farbe erben .
Mit dieser Methode möchten Sie Folgendes tun : <hr width="50" align="left"/>.
Beispiel:
<span>
awhieugfrafgtgtfhjjygfjyjg
<fontcolor="#42B3E5"><hrwidth="50"align="left"/></font></span><!--Doesn't work in ie7 and below and in Quirks Mode-->
Sie können CSS verwenden, um eine Linie mit einer anderen Farbe zu erstellen. Das Beispiel wäre wie folgt:
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);
Nun, ich bin neu in HTML, CSS und Java, aber ich habe meinen Weg ausprobiert, der in allen Browsern für mich funktioniert hat. Ich habe JS anstelle von CSS verwendet, was mit einigen Browsern nicht funktioniert .
Zunächst habe ich id="myHR"HR-Element gegeben und es in Java Script verwendet.
Hier ist der 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";
In der Regel können Sie mit CSS nicht einfach die Farbe einer horizontalen Linie wie alles andere festlegen. Zunächst benötigt Internet Explorer die Farbe in Ihrem CSS, um wie folgt zu lesen:
"Farbe: # 123455"
Opera und Mozilla benötigen jedoch die Farbe in Ihrem CSS, um Folgendes zu lesen:
"Hintergrundfarbe: # 123455"
Sie müssen also beide Optionen zu Ihrem CSS hinzufügen.
Als Nächstes müssen Sie der horizontalen Linie einige Abmessungen zuweisen. Andernfalls wird standardmäßig die von Ihrem Browser festgelegte Standardhöhe, -breite und -farbe verwendet. Hier ist ein Beispielcode, wie Ihr CSS aussehen sollte, um die blaue horizontale Linie zu erhalten.
Antworten:
Ich denke, Sie sollten
border-color
stattdessen verwendencolor
, wenn Sie die Farbe der vom<hr>
Tag erzeugten Linie ändern möchten.In Kommentaren wurde jedoch darauf hingewiesen, dass der Rand beim Ändern der Größe Ihrer Linie immer noch so breit ist, wie Sie es in den Stilen angegeben haben, und die Linie mit der Standardfarbe gefüllt wird (was in den meisten Fällen kein gewünschter Effekt ist Zeit). In diesem Fall müssten Sie also auch angeben
background-color
(wie @Ibu in seiner Antwort vorgeschlagen hat).Das HTML 5 Boilerplate- Projekt in seinem Standard-Stylesheet gibt die folgende Regel an:
In einem kürzlich von SitePoint veröffentlichten Artikel mit dem Titel „12 wenig bekannte CSS-Fakten“ wird erwähnt, dass er auf die übergeordneten Werte
<hr>
gesetzt werden kann, wenn Sie dies angeben .border-color
color
hr { border-color: inherit }
quelle
border-color
funktioniert in Chrome und Safari .background-color
funktioniert in Firefox und Opera.color
funktioniert in IE7 + .quelle
border-color
funktioniert nicht in Chrome. Versuchen Sie, es auf weißem Hintergrund auf Weiß einzustellen. Diese beiden funktionieren: Entweder 1)color:white; border-style:solid;
oder 2)border-color:white; border-style:solid;
.Ich denke, das kann nützlich sein. Dies war eine einfache CSS-Auswahl.
quelle
Auf diese Weise können Sie die Höhe bei Bedarf ändern. Viel Glück. Quelle: So gestalten Sie HR mit CSS
quelle
Getestet in Firefox, Opera, Internet Explorer, Chrome und Safari.
Siehe die Geige .
quelle
Nur ein Rand mit Farbe reicht aus, um die Linie in einer anderen Farbe zu gestalten.
quelle
Dadurch bleibt die horizontale Regel 1 Pixel dick und gleichzeitig wird die Farbe geändert
quelle
Ich glaube, dies ist der effektivste Ansatz:
Oder wenn Sie es vorziehen, es auf allen Stundenelementen zu tun, schreiben Sie dies auf Ihr CSS:
quelle
quelle
Der Hintergrund ist derjenige, den Sie ändern sollten
Sie können auch mit der Rahmenfarbe arbeiten. Ich bin mir nicht sicher, ob es Crossbrowser-Probleme gibt. Sie sollten es in verschiedenen Browsern testen
quelle
Wenn Sie die CSS-Klasse verwenden, wird sie von allen 'hr'-Tags verwendet. Wenn Sie jedoch eine bestimmte' hr'-Klasse verwenden möchten, verwenden Sie den folgenden Code, dh Inline-CSS
Wenn es nicht in Chrome funktioniert, versuchen Sie es mit dem folgenden Code:
quelle
Nachdem ich alle Antworten hier gelesen und die beschriebene Komplexität gesehen hatte, machte ich eine kleine Ablenkung, um mit HR zu experimentieren. Und die Schlussfolgerung ist, dass Sie den größten Teil des von Ihnen geschriebenen monkeypatched CSS wegwerfen, diesen kleinen Primer lesen und einfach diese beiden Zeilen reinen CSS verwenden können:
Das ist ALLES, was Sie brauchen, um Ihre HRs zu gestalten.
height
,width
,background-color
,color
etc. beteiligt.Nur kugelsichere bunte HRs. Es ist so einfach TM .
Bonus: Um der HR eine gewisse Höhe zu geben
H
, setzen Sie einfach dasborder-width
asH/2
.quelle
background-color
.Einige Browser verwenden das
color
Attribut, andere dasbackground-color
Attribut. Sicher sein:quelle
Ich teste auf IE, Firefox und Chrome im Mai 2015 und dies funktioniert am besten mit den aktuellen Versionen. Es zentriert die Personalabteilung und macht sie zu 70% breit:
quelle
Sie sollten die Rahmenbreite auf 0 setzen. Es funktioniert gut in Firefox und Chrome.
quelle
Es ist einfach und mein Favorit.
quelle
Sie können Bootstrap-BG-Klasse wie hinzufügen
quelle
.bg-light { background-color: #f8f9fa !important; }
Da ich keinen Ruf zum Kommentieren habe, werde ich hier ein paar Ideen geben.
Wenn Sie eine variable CSS-Höhe wünschen, entfernen Sie alle Ränder und geben Sie eine Hintergrundfarbe an.
Wenn Sie einfach einen Stil möchten, von dem Sie wissen, dass er funktioniert (Beispiel: Ersetzen eines Rahmens in einem :: before-Element für die meisten E-Mail-Clients oder
Wenn Sie eine Breite festlegen, hat diese in beiden Fällen immer ihre Größe.
Keine Notwendigkeit, dies einzustellen
display:block;
.Um absolut sicher zu sein, können Sie beide mischen, da einige Browser verwirrt werden können mit
height:0px;
:Mit dieser Methode können Sie sicher sein, dass die Höhe mindestens 2 Pixel beträgt.
Es ist eine Linie mehr, aber Sicherheit ist Sicherheit.
Dies ist die Methode, die Sie verwenden sollten, um mit fast allem kompatibel zu sein.
Denken Sie daran: Google Mail erkennt nur Inline-CSS und einige E-Mail-Clients unterstützen möglicherweise keine Hintergründe oder Rahmen. Wenn einer fehlschlägt, haben Sie immer noch eine 1px-Leitung. Besser als nichts.
Im schlimmsten Fall können Sie versuchen, hinzuzufügen
color:blue;
.Im schlimmsten Fall können Sie versuchen, ein
<font color="blue"></font>
Tag zu verwenden und Ihr wertvolles<hr/>
Tag darin zu platzieren. Es wird die<font></font>
Tag-Farbe erben .Mit dieser Methode möchten Sie Folgendes tun :
<hr width="50" align="left"/>
.Beispiel:
Hier ist ein Link, den Sie überprüfen können: http://jsfiddle.net/sna2D/
quelle
Sie können CSS verwenden, um eine Linie mit einer anderen Farbe zu erstellen. Das Beispiel wäre wie folgt:
Dieser Code zeigt eine vertikale graue Linie an.
quelle
Nun, ich bin neu in HTML, CSS und Java, aber ich habe meinen Weg ausprobiert, der in allen Browsern für mich funktioniert hat. Ich habe JS anstelle von CSS verwendet, was mit einigen Browsern nicht funktioniert .
Zunächst habe ich
id="myHR"
HR-Element gegeben und es in Java Script verwendet.Hier ist der Code.
quelle
Versucht für viele Farben
quelle
Durch die Verwendung von Schriftfarben zum Ändern horizontaler Regeln werden diese flexibler und benutzerfreundlicher.
Die
color
Eigenschaft wird standardmäßig nicht vererbt, daher muss Folgendes zu hr hinzugefügt werden, um die Farbvererbung zu ermöglichen:quelle
Sie könnten dies tun:
quelle
Sie können das
<hr noshade>
Tag geben und zu Ihrer CSS-Datei gehen und hinzufügen:quelle
In der Regel können Sie mit CSS nicht einfach die Farbe einer horizontalen Linie wie alles andere festlegen. Zunächst benötigt Internet Explorer die Farbe in Ihrem CSS, um wie folgt zu lesen:
"Farbe: # 123455"
Opera und Mozilla benötigen jedoch die Farbe in Ihrem CSS, um Folgendes zu lesen:
"Hintergrundfarbe: # 123455"
Sie müssen also beide Optionen zu Ihrem CSS hinzufügen.
Als Nächstes müssen Sie der horizontalen Linie einige Abmessungen zuweisen. Andernfalls wird standardmäßig die von Ihrem Browser festgelegte Standardhöhe, -breite und -farbe verwendet. Hier ist ein Beispielcode, wie Ihr CSS aussehen sollte, um die blaue horizontale Linie zu erhalten.
Oder Sie können den Stil einfach direkt zu Ihrer HTML-Seite hinzufügen, wenn Sie eine horizontale Linie einfügen, wie folgt:
Hoffe das hilft.
quelle
Ich habe in jeder Hinsicht eine Wette abgeschlossen:
quelle