Apenas FYI, eu tentei fazer o que você fez com uma cor diferente e funciona no Firefox 5 Beta, mas não IE 9, jsfiddle.net/TGtSd
6
@Keoki Zee Não está funcionando para mim (Chrome).
28711 Marty
1
@Marty background-color funciona no Chrome, mas você está certo não a cor ... estranho ...
2
Chrome não trabalhar background-color também não funciona para mim
koool
2
Ok, apenas no caso de alguém quiser testar, aqui está um violino eu tenho indo tão longe, jsfiddle.net/TGtSd/9 ...
Respostas:
1125
Eu acho que você deve usar em border-colorvez de color, se sua intenção é mudar a cor da linha produzida por<hr> tag.
Embora tenha sido apontado nos comentários que, se você alterar o tamanho da sua linha, a borda ainda será tão larga quanto a especificada nos estilos, e a linha será preenchida com a cor padrão (que não é o efeito desejado na maioria das vezes). Tempo). Parece que, nesse caso, você também precisaria especificar background-color(como o @Ibu sugeriu em sua resposta).
O projeto HTML 5 Boilerplate em sua folha de estilo padrão especifica a seguinte regra:
Um artigo intitulado "12 fatos pouco conhecidos sobre CSS" , publicado recentemente pelo SitePoint, menciona que <hr>pode ser definido border-colorcomo pai, colorse você especificar hr { border-color: inherit }.
O problema com o border-color é que se você fizer o hr maiores, apenas cores da fronteira, jsfiddle.net/TGtSd/9 ...
@Anton, não é isso que eu estava me referindo sobre o tamanho da hora ... se você aumentar a altura e usar apenas a cor da borda, obterá um retângulo com uma borda colorida, mas o interior não será colored ...
Por que se preocupar com a fronteira? Por que não dar uma cor de fundo e terminar com isso? Edit: nvm, não vi a resposta sobre a compatibilidade do navegador.
Se desejarmos que nosso site seja visto em todos os navegadores, devemos usá-los todos?
MEM
4
border-colornão funciona no Chrome. Tente configurá-lo para branco sobre fundo branco. Esses dois funcionarão: 1)color:white; border-style:solid; ou 2)border-color:white; border-style:solid; .
Pacerier 26/01
4
@ Pacerier sim, sim. Talvez seja necessário especificar um estilo e / ou largura
Ir à
a informação re. IE (pelo menos) está incorreto. 'border-color' funciona bem no IE; 'cor' não (IE11)
taiji123
88
Eu acho que isso pode ser útil. esse foi um simples seletor de CSS.
Você também pode trabalhar com a cor das bordas. Não tenho certeza se acho que há problemas de navegador cruzado com isso. você deve testá-lo em navegadores diferentes
Eu tentei no Firefox 5 Beta, IE 9, Chrome, Opera e Safari ... você é bom, todos eles trabalham;)
1
@ kool, qual parte não funciona? cor de fundo? ou cor da borda? Acabei de testar a cor da borda: azul; e funcionou em cromo
Ibu
[cor da borda] funciona no Chrome. [cor de fundo] não. Eu votaria para baixo se tivesse representante suficiente.
samthebrand
5
se você usar a classe css, ela será usada por todas as tags 'hr', mas se você quiser uma determinada 'hr', use o código abaixo, por exemplo, css inline
<hrstyle="color:#99CC99"/>
se não estiver funcionando no chrome, tente o código abaixo:
Depois de ler todas as respostas aqui e ver a complexidade descrita, comecei com uma pequena diversão para experimentar o RH. E, a conclusão é que você pode jogar fora a maior parte do CSS monkeypatched que você escreveu, ler esta pequena cartilha e usar essas duas linhas de CSS puro:
hr {
border-style: solid;
border-color: cornflowerblue;/* or whatever */}
Isso é tudo que você precisa para criar seus RHs.
Funciona em navegadores, dispositivos diferentes, sistemas operacionais, canais em inglês e idades cruzadas.
Não "Acho que isso funcionará ..." , "você precisa manter o Safari / IE em mente ..." , etc.
sem css extra - não height,width , background-color, color, etc. envolvidos.
Apenas HRs coloridos à prova de balas. É isso simples TM .
Bônus: para dar ao RH alguma altura H, basta definir o border-widthas H/2.
Acontece que essa foi a resposta perfeita para mim, embora eu tenha feito isso no passado ajustando a borda. BTW, o Bootstrap 4 faz assim:.bg-light { background-color: #f8f9fa !important; }
nicorellius 11/11/19
2
Como não tenho reputação de comentar, darei aqui algumas idéias.
se você quiser uma altura variável css, retire todas as bordas e dê uma cor de fundo.
hr{
height:2px;
border:0px;
background:green;
margin:0px;/*sometimes useful*/}/*Doesn't work in ie7 and below and in Quirks Mode*/
se você quiser simplesmente um estilo que você saiba que funcionará (exemplo: substituir uma borda em um elemento :: before para a maioria dos clientes de email ou
Com esse método, você pode ter certeza de que terá pelo menos 2 px de altura.
É uma linha mais, mas segurança é segurança.
Este é o método que você deve usar para ser compatível com quase tudo.
Lembre-se: o Gmail detecta apenas o CSS embutido e alguns clientes de e-mail podem não suportar planos de fundo ou bordas. Se um falhar, você ainda terá uma linha de 1px. Melhor que nada.
Nos piores casos, você pode tentar adicionar color:blue;.
No pior dos piores casos, você pode tentar usar uma <font color="blue"></font>tag e colocar sua preciosa <hr/>tag dentro dela. Ele herdará a <font></font>cor da tag.
Com este método, você vai querer fazer assim: <hr width="50" align="left"/>.
Exemplo:
<span>
awhieugfrafgtgtfhjjygfjyjg
<fontcolor="#42B3E5"><hrwidth="50"align="left"/></font></span><!--Doesn't work in ie7 and below and in Quirks Mode-->
Você pode usar CSS para fazer uma linha com uma cor diferente; o exemplo seria assim:
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);
Bem, sou novo em HTML, CSS e em Java, mas tentei o que funcionava para mim em todos os navegadores. Eu usei JS em vez de CSS, que não funciona com alguns navegadores .
Primeiro de tudo, eu dei id="myHR"ao elemento HR e o usei em Java Script.
Aqui está o código.
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";
Como regra geral, você não pode simplesmente definir a cor de uma linha horizontal com CSS como faria com qualquer outra coisa. Primeiro de tudo, o Internet Explorer precisa da cor do seu CSS para ler da seguinte maneira:
"Cor: # 123455"
Mas o Opera e o Mozilla precisam da cor do seu CSS para ler da seguinte maneira:
“Cor de fundo: # 123455”
Portanto, você precisará adicionar as duas opções ao seu CSS.
Em seguida, será necessário fornecer algumas dimensões à linha horizontal ou ela será padronizada para a altura, largura e cor padrão definidas pelo seu navegador. Aqui está um código de exemplo da aparência do seu CSS para obter a linha horizontal azul.
Respostas:
Eu acho que você deve usar em
border-color
vez decolor
, se sua intenção é mudar a cor da linha produzida por<hr>
tag.Embora tenha sido apontado nos comentários que, se você alterar o tamanho da sua linha, a borda ainda será tão larga quanto a especificada nos estilos, e a linha será preenchida com a cor padrão (que não é o efeito desejado na maioria das vezes). Tempo). Parece que, nesse caso, você também precisaria especificar
background-color
(como o @Ibu sugeriu em sua resposta).O projeto HTML 5 Boilerplate em sua folha de estilo padrão especifica a seguinte regra:
Um artigo intitulado "12 fatos pouco conhecidos sobre CSS" , publicado recentemente pelo SitePoint, menciona que
<hr>
pode ser definidoborder-color
como pai,color
se você especificarhr { border-color: inherit }
.fonte
border-color
funciona no Chrome e Safari .background-color
trabalha no Firefox e Opera.color
funciona no IE7 + .fonte
border-color
não funciona no Chrome. Tente configurá-lo para branco sobre fundo branco. Esses dois funcionarão: 1)color:white; border-style:solid;
ou 2)border-color:white; border-style:solid;
.Eu acho que isso pode ser útil. esse foi um simples seletor de CSS.
fonte
Fazer dessa maneira permite alterar a altura, se necessário. Boa sorte. Fonte: Como estilizar RH com CSS
fonte
Testado no Firefox, Opera, Internet Explorer, Chrome e Safari.
Veja o violino .
fonte
Somente a borda superior com cor é suficiente para criar uma linha com cores diferentes.
fonte
Isso manterá a Regra Horizontal 1px de espessura, além de alterar a cor dela.
fonte
Eu acredito que esta é a abordagem mais eficaz:
Ou, se você preferir fazê-lo em todos os elementos hr, escreva isso em seu CSS:
fonte
fonte
o fundo é o que você deve tentar mudar
Você também pode trabalhar com a cor das bordas. Não tenho certeza se acho que há problemas de navegador cruzado com isso. você deve testá-lo em navegadores diferentes
fonte
se você usar a classe css, ela será usada por todas as tags 'hr', mas se você quiser uma determinada 'hr', use o código abaixo, por exemplo, css inline
se não estiver funcionando no chrome, tente o código abaixo:
fonte
Depois de ler todas as respostas aqui e ver a complexidade descrita, comecei com uma pequena diversão para experimentar o RH. E, a conclusão é que você pode jogar fora a maior parte do CSS monkeypatched que você escreveu, ler esta pequena cartilha e usar essas duas linhas de CSS puro:
Isso é tudo que você precisa para criar seus RHs.
height
,width
,background-color
,color
, etc. envolvidos.Apenas HRs coloridos à prova de balas. É isso simples TM .
Bônus: para dar ao RH alguma altura
H
, basta definir oborder-width
asH/2
.fonte
background-color
funciona.Alguns navegadores usam o
color
atributo e outros obackground-color
atributo. Estar seguro:fonte
Estou testando no IE, Firefox e Chrome em maio de 2015 e isso funciona melhor com as versões atuais. Ele centraliza o RH e o torna 70% amplo:
fonte
Você deve definir a largura da borda como 0; Funciona bem no Firefox e Chrome.
fonte
É simples e o meu favorito.
fonte
Você pode adicionar a classe bootstrap bg como
fonte
.bg-light { background-color: #f8f9fa !important; }
Como não tenho reputação de comentar, darei aqui algumas idéias.
se você quiser uma altura variável css, retire todas as bordas e dê uma cor de fundo.
se você quiser simplesmente um estilo que você saiba que funcionará (exemplo: substituir uma borda em um elemento :: before para a maioria dos clientes de email ou
Nos dois sentidos, se você definir uma largura, ela sempre terá seu tamanho.
Não há necessidade de definir
display:block;
para isso.Para ser totalmente seguro, você pode misturar os dois, porque alguns navegadores podem se confundir com
height:0px;
:Com esse método, você pode ter certeza de que terá pelo menos 2 px de altura.
É uma linha mais, mas segurança é segurança.
Este é o método que você deve usar para ser compatível com quase tudo.
Lembre-se: o Gmail detecta apenas o CSS embutido e alguns clientes de e-mail podem não suportar planos de fundo ou bordas. Se um falhar, você ainda terá uma linha de 1px. Melhor que nada.
Nos piores casos, você pode tentar adicionar
color:blue;
.No pior dos piores casos, você pode tentar usar uma
<font color="blue"></font>
tag e colocar sua preciosa<hr/>
tag dentro dela. Ele herdará a<font></font>
cor da tag.Com este método, você vai querer fazer assim:
<hr width="50" align="left"/>
.Exemplo:
Aqui está um link para você verificar: http://jsfiddle.net/sna2D/
fonte
Você pode usar CSS para fazer uma linha com uma cor diferente; o exemplo seria assim:
esse código exibirá uma linha cinza vertical.
fonte
Bem, sou novo em HTML, CSS e em Java, mas tentei o que funcionava para mim em todos os navegadores. Eu usei JS em vez de CSS, que não funciona com alguns navegadores .
Primeiro de tudo, eu dei
id="myHR"
ao elemento HR e o usei em Java Script.Aqui está o código.
fonte
Tentei por muitas cores
fonte
Usar cores de fonte para modificar regras horizontais as torna mais flexíveis e fáceis de usar.
A
color
propriedade não é herdada por padrão; portanto, é necessário adicionar o seguinte às hr's para permitir a herança de cores:fonte
Você poderia fazer isso:
fonte
Você pode dar a
<hr noshade>
tag e ir para o seu arquivo css e adicionar:fonte
Como regra geral, você não pode simplesmente definir a cor de uma linha horizontal com CSS como faria com qualquer outra coisa. Primeiro de tudo, o Internet Explorer precisa da cor do seu CSS para ler da seguinte maneira:
"Cor: # 123455"
Mas o Opera e o Mozilla precisam da cor do seu CSS para ler da seguinte maneira:
“Cor de fundo: # 123455”
Portanto, você precisará adicionar as duas opções ao seu CSS.
Em seguida, será necessário fornecer algumas dimensões à linha horizontal ou ela será padronizada para a altura, largura e cor padrão definidas pelo seu navegador. Aqui está um código de exemplo da aparência do seu CSS para obter a linha horizontal azul.
Ou você pode simplesmente adicionar o estilo à sua página HTML diretamente ao inserir uma linha horizontal, assim:
Espero que isto ajude.
fonte
Fiz uma aposta em cada sentido:
fonte