Styling email link / href= "mailto:" with CSS
graças ao StackOverflow eu finalmente encontrei uma maneira de estilo meu link de E-mail, mas eu me pergunto por que ele não funciona sem a solução que eu encontrei aqui.
Uma vez que o link faz parte do espaço com a classe atribuída "about", que tem o tamanho da letra e o estilo definidos, o link de E-mail não deveria aparecer em 11px e sans serif?
e enquanto
a[href^="mailto:"]
{
font-family: sans-serif;
color: black;
font-size: 11px;
}
funciona muito bem, assim que eu tentar mudá-lo para
.about a[href^="mailto:"]
{
font-family: sans-serif;
color: black;
font-size: 11px;
}
Não funciona como era suposto.
Faça as marcas não ouvem a formatação de espaços ou o ninho de classes?
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html {
height:100%;
}
body {
height: 100%;
margin-left: 20px;
margin-top:0px;
}
.bottom-left {
position: absolute;
font:sans-serif;
bottom: 15px;
left: 15px;
}
.bold {
font-family: serif;
}
.about {
font-size: 11px;
font-family: sans-serif;
}
/*a[href^="mailto:"]
{
font-family: sans-serif;
color: black;
font-size: 11px;
}*/
.address {
font-size: 11px;
border-bottom: 1px grey dotted;
}
</style>
<title>TEMP</title>
</head>
<body>
<div class="bottom-left">
<span class="about">
<span class="bold">XYZ</span> is a project space . |
<span="address">Website Information</span> — <a href="mailto:[email protected]">[email protected]</a>
</span>
</div>
</body>
</html>
2 answers
a[href^="mailto:"]
{
font-family: sans-serif;
color: red;
font-size: 11px;
}
Veja a demonstração:- http://jsbin.com/ijofoq/edit#html,ao vivo
Actualizado
Agora está a funcionar bem...edite o seu HTML e adicione no seu HTML<div class="bottom-left">
<div class="about">
<span class="bold">XYZ</span> is a project space . |
<span="address">Website Information</span> — <a href="mailto:[email protected]">[email protected]</a>
</div>
Basicamente você tem que remover a marca span de . cerca de classe.
Vê isto. :- http://jsbin.com/ijofoq/2/edit
.about
tem precedência sobre a
.
cf. Regra CSS Especificidade .
Basicamente, um conjunto de regras css atribui uma prioridade como um número de versão como este:
{#id}.{#class}.{#element}.{order}
Com
- {#id}: Número de selectores de id
- {#Classe}: número de classes, pseudo-classes, atributos
- {#elemento}: contagem de elementos, pseudo-elementos
- {ordem}: o índice desta regra em todos os ficheiros
-
0.2.1.*
.about a[href^="mailto:"]
(0 id, 1 classe + 1 attr, 1 elemento) -
0.1.1.a
span.about
(0 id, 1 classe, 1 elemento) -
0.1.1.b
a[href^="mailto:"]
(0 id, 1 attr, 1 elemento) -
0.1.0.*
.about
(0 id, 1 classe, 0 elemento)
span.about
e a[href^="mailto:"]
têm a mesma especificidade (1 classe ou atributo, e 1 elemento), por isso a ordem é importante, as últimas vitórias.
Se você remove o span
então a regra é menos específica e frouxa.
(também, distinguir entre regras directamente aplicadas a um elemento, e outras herdadas de elementos-mãe...)