Просто к вашему сведению, я попытался сделать то, что вы сделали, с другим цветом, и это работает в Firefox 5 Beta, но не в IE 9, jsfiddle.net/TGtSd
6
@ Keoki Zee не работает для меня (Chrome).
Марти
1
@Marty background-color работает в Chrome, но вы правы, не цвет ... странный ...
2
хром не работает, цвет фона тоже не работает для меня
koool
2
Ладно, на всякий случай, если кто-то захочет проверить, вот скрипка, которую я так далеко проделал , jsfiddle.net/TGtSd/9 ...
Ответы:
1126
Я думаю, что вы должны использовать border-colorвместо color, если вы хотите изменить цвет линии, производимой <hr>тегом.
Хотя в комментариях отмечалось, что если вы измените размер вашей линии, граница все равно будет такой же широкой, как вы указали в стилях, и линия будет заполнена цветом по умолчанию (что не является желаемым эффектом для большинства время). Так что, похоже, в этом случае вам также нужно будет указать background-color(как предложил @Ibu в своем ответе).
Проект HTML 5 Boilerplate в таблице стилей по умолчанию определяет следующее правило:
В статье под названием «12 малоизвестных фактов CSS» , недавно опубликованной SitePoint, упоминается, что <hr>можно указать border-colorее родителю, colorесли вы укажете hr { border-color: inherit }.
Проблема с border-color заключается в том, что если вы увеличите hr, он просто раскрасит границу, jsfiddle.net/TGtSd/9 ...
@ Антон, это не то, о чем я говорил о размере часа ... если вы увеличите высоту и будете использовать только цвет границы, вы получите прямоугольник с цветной рамкой, но внутренняя часть не будет цветной ...
Зачем вообще грабить? Почему бы просто не дать ему цвет фона и покончить с этим? Редактировать: Н.В.М., я не видел ответа о совместимости браузера.
Если мы хотим, чтобы наш сайт отображался во всех браузерах, должны ли мы использовать их все?
MEM
4
border-colorне работает на Chrome. Попробуйте установить его на белый на белом фоне. Эти два будут работать: 1)color:white; border-style:solid; или 2)border-color:white; border-style:solid; .
Pacerier
4
@Pacerier да, это так. Возможно, нужно указать стиль и / или ширину
GôTô
информация повторно. IE (по крайней мере) неверен. 'border-color' отлично работает в IE; «цвет» не (IE11)
taiji123
88
Я думаю, что это может быть полезно. это был простой селектор CSS.
Вы также можете работать с границами цвета. я не уверен, что думаю, что есть кроссбраузерные проблемы с этим. вы должны проверить это в разных браузерах
Я пробовал это в Firefox 5 Beta, IE 9, Chrome, Opera и Safari ... все хорошо, они все работают;)
1
@kool, какая часть не работает? фоновый цвет? или бордюрный цвет? я только что проверил бордюрный цвет: синий; и это работало в Chrome
Ибу
[border-color] работает в Chrome. [background-color] нет. Я бы проголосовал, если бы мне хватило представителя.
samthebrand
5
если вы используете класс css, тогда он будет принят всеми тегами 'hr', но если вы хотите для определенного 'hr', используйте приведенный ниже код, т. е. встроенный CSS
<hrstyle="color:#99CC99"/>
если это не работает в chrome, попробуйте следующий код:
Прочитав все ответы здесь и увидев описанную сложность, я решил немного поэкспериментировать с HR. И напрашивается вывод, что вы можете выбросить большую часть написанного вами обезьяньего CSS, прочитать этот небольшой учебник и просто использовать эти две строки чистого CSS:
hr {
border-style: solid;
border-color: cornflowerblue;/* or whatever */}
Это ВСЕ, что вам нужно для стиля ваших HR.
Работает кросс-браузер, кросс-устройство, кросс-ос, кросс-англ-канал, кросс-эйдж.
Нет «я думаю, что это сработает ...» , «вам нужно помнить о Safari / IE ...» и т. Д.
без дополнительной CSS - нет height, width, background-color, colorи т.д. участие.
Просто пуленепробиваемые красочные HR. Это что просто TM .
Бонус: чтобы дать HR некоторую высоту H, просто установите border-widthas H/2.
Оказывается, это был идеальный ответ для меня, хотя я делал это в прошлом, корректируя границу. Кстати, Bootstrap 4 делает это так:.bg-light { background-color: #f8f9fa !important; }
nicorellius
2
Поскольку у меня нет репутации, чтобы комментировать, я дам здесь несколько идей.
если вам нужна переменная высота css, снимите все границы и задайте цвет фона.
hr{
height:2px;
border:0px;
background:green;
margin:0px;/*sometimes useful*/}/*Doesn't work in ie7 and below and in Quirks Mode*/
если вам нужен просто стиль, который, как вы знаете, будет работать (пример: заменить границу в элементе :: before для большинства почтовых клиентов или
С этим методом вы можете быть уверены, что его высота будет не менее 2 пикселей.
Это больше, но безопасность это безопасность.
Это метод, который вы должны использовать, чтобы быть совместимым практически со всем.
Помните: Gmail обнаруживает только встроенные CSS, и некоторые почтовые клиенты могут не поддерживать фон или границы. Если произойдет сбой, у вас все равно будет линия 1px. Лучше чем ничего.
В худшем случае вы можете попытаться добавить color:blue;.
В худшем из худших случаев вы можете попытаться использовать <font color="blue"></font>тег и поместить в него свой драгоценный <hr/>тег. Он унаследует <font></font>цвет тега.
С помощью этого метода, вы БУДЕТЕ хотите сделать так:<hr width="50" align="left"/> .
Пример:
<span>
awhieugfrafgtgtfhjjygfjyjg
<fontcolor="#42B3E5"><hrwidth="50"align="left"/></font></span><!--Doesn't work in ie7 and below and in Quirks Mode-->
Вы можете использовать CSS, чтобы создать линию с другим цветом, пример будет таким:
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);
этот код будет отображать вертикальную серую линию.
Ну, я новичок в HTML, CSS и в Java, но я попробовал свой путь, который работал для меня во всех браузерах. Я использовал JS вместо CSS, который не работает с некоторыми браузерами .
Прежде всего я дал id="myHR"элемент HR и использовал его в Java Script.
Вот кодекс.
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";
Как правило, вы не можете просто установить цвет горизонтальной линии с помощью CSS, как и все остальное. Прежде всего, Internet Explorer нужен цвет в вашем CSS, чтобы это выглядело так:
«Цвет: # 123455»
Но Opera и Mozilla нужно, чтобы цвет в вашем CSS читался так:
«Цвет фона: # 123455»
Итак, вам нужно будет добавить обе опции в ваш CSS.
Затем вам нужно будет указать горизонтальную линию с некоторыми размерами, или она будет по умолчанию соответствовать стандартной высоте, ширине и цвету, установленным вашим браузером. Вот пример кода того, как должен выглядеть ваш CSS, чтобы получить синюю горизонтальную линию.
Ответы:
Я думаю, что вы должны использовать
border-color
вместоcolor
, если вы хотите изменить цвет линии, производимой<hr>
тегом.Хотя в комментариях отмечалось, что если вы измените размер вашей линии, граница все равно будет такой же широкой, как вы указали в стилях, и линия будет заполнена цветом по умолчанию (что не является желаемым эффектом для большинства время). Так что, похоже, в этом случае вам также нужно будет указать
background-color
(как предложил @Ibu в своем ответе).Проект HTML 5 Boilerplate в таблице стилей по умолчанию определяет следующее правило:
В статье под названием «12 малоизвестных фактов CSS» , недавно опубликованной SitePoint, упоминается, что
<hr>
можно указатьborder-color
ее родителю,color
если вы укажетеhr { border-color: inherit }
.источник
border-color
работает в Chrome и Safari .background-color
работает в Firefox и Opera.color
работает в IE7 + .источник
border-color
не работает на Chrome. Попробуйте установить его на белый на белом фоне. Эти два будут работать: 1)color:white; border-style:solid;
или 2)border-color:white; border-style:solid;
.Я думаю, что это может быть полезно. это был простой селектор CSS.
источник
Делая это таким образом, вы можете изменить высоту, если это необходимо. Удачи. Источник: Как стилизовать HR с помощью CSS
источник
Протестировано в Firefox, Opera, Internet Explorer, Chrome и Safari.
Посмотри на скрипку .
источник
Достаточно только рамки с цветом, чтобы сделать линию другим цветом.
источник
Это позволит сохранить горизонтальное правило толщиной 1 пиксель, а также изменить его цвет.
источник
Я считаю, что это самый эффективный подход:
Или, если вы предпочитаете делать это на всех элементах hr, напишите это на своем CSS:
источник
источник
фон, который вы должны попытаться изменить
Вы также можете работать с границами цвета. я не уверен, что думаю, что есть кроссбраузерные проблемы с этим. вы должны проверить это в разных браузерах
источник
если вы используете класс css, тогда он будет принят всеми тегами 'hr', но если вы хотите для определенного 'hr', используйте приведенный ниже код, т. е. встроенный CSS
если это не работает в chrome, попробуйте следующий код:
источник
Прочитав все ответы здесь и увидев описанную сложность, я решил немного поэкспериментировать с HR. И напрашивается вывод, что вы можете выбросить большую часть написанного вами обезьяньего CSS, прочитать этот небольшой учебник и просто использовать эти две строки чистого CSS:
Это ВСЕ, что вам нужно для стиля ваших HR.
height
,width
,background-color
,color
и т.д. участие.Просто пуленепробиваемые красочные HR. Это что просто TM .
Бонус: чтобы дать HR некоторую высоту
H
, просто установитеborder-width
asH/2
.источник
background-color
делает.Некоторые браузеры используют
color
атрибут, а некоторые используютbackground-color
атрибут. Чтобы быть в безопасности:источник
Я тестирую на IE, Firefox и Chrome в мае 2015 года, и это лучше всего работает с текущими версиями. Он центрирует HR и составляет 70%:
источник
Вы должны установить border-width на 0; Хорошо работает в Firefox и Chrome.
источник
Это просто и мое любимое.
источник
Вы можете добавить класс начальной загрузки как
источник
.bg-light { background-color: #f8f9fa !important; }
Поскольку у меня нет репутации, чтобы комментировать, я дам здесь несколько идей.
если вам нужна переменная высота css, снимите все границы и задайте цвет фона.
если вам нужен просто стиль, который, как вы знаете, будет работать (пример: заменить границу в элементе :: before для большинства почтовых клиентов или
В обоих случаях, если вы установите ширину, она всегда будет иметь свой размер.
Нет необходимости устанавливать
display:block;
для этого.Чтобы быть в полной безопасности, вы можете смешать оба, потому что некоторые браузеры могут запутаться с
height:0px;
:С этим методом вы можете быть уверены, что его высота будет не менее 2 пикселей.
Это больше, но безопасность это безопасность.
Это метод, который вы должны использовать, чтобы быть совместимым практически со всем.
Помните: Gmail обнаруживает только встроенные CSS, и некоторые почтовые клиенты могут не поддерживать фон или границы. Если произойдет сбой, у вас все равно будет линия 1px. Лучше чем ничего.
В худшем случае вы можете попытаться добавить
color:blue;
.В худшем из худших случаев вы можете попытаться использовать
<font color="blue"></font>
тег и поместить в него свой драгоценный<hr/>
тег. Он унаследует<font></font>
цвет тега.С помощью этого метода, вы БУДЕТЕ хотите сделать так:
<hr width="50" align="left"/>
.Пример:
Вот ссылка для проверки: http://jsfiddle.net/sna2D/
источник
Вы можете использовать CSS, чтобы создать линию с другим цветом, пример будет таким:
этот код будет отображать вертикальную серую линию.
источник
Ну, я новичок в HTML, CSS и в Java, но я попробовал свой путь, который работал для меня во всех браузерах. Я использовал JS вместо CSS, который не работает с некоторыми браузерами .
Прежде всего я дал
id="myHR"
элемент HR и использовал его в Java Script.Вот кодекс.
источник
Пробовал для многих цветов
источник
Использование цветов шрифта для изменения горизонтальных правил делает их более гибкими и простыми в использовании.
Это
color
свойство не наследуется по умолчанию, поэтому необходимо добавить следующее в hr, чтобы разрешить наследование цвета:источник
Вы могли бы сделать это:
источник
Вы можете дать
<hr noshade>
тег и перейти к вашему CSS-файлу и добавить:источник
Как правило, вы не можете просто установить цвет горизонтальной линии с помощью CSS, как и все остальное. Прежде всего, Internet Explorer нужен цвет в вашем CSS, чтобы это выглядело так:
«Цвет: # 123455»
Но Opera и Mozilla нужно, чтобы цвет в вашем CSS читался так:
«Цвет фона: # 123455»
Итак, вам нужно будет добавить обе опции в ваш CSS.
Затем вам нужно будет указать горизонтальную линию с некоторыми размерами, или она будет по умолчанию соответствовать стандартной высоте, ширине и цвету, установленным вашим браузером. Вот пример кода того, как должен выглядеть ваш CSS, чтобы получить синюю горизонтальную линию.
Или вы можете просто добавить стиль к своей HTML-странице непосредственно при вставке горизонтальной линии, например так:
Надеюсь это поможет.
источник
Я сделал ставку в каждую сторону:
источник