使用伪元素时如何将第二行文本与第一行对齐?

时间:2017-04-28 13:18:58

标签: html css

我有这样的代码:



body, html {
    height: 100%;
}
header {
    font-size: 14px;
}
header h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 4em;
    text-transform: uppercase;
}
header h1, header h1:before, header h1:after {
    font-weight: normal;
}
header h1:before, header h1:after {
    display: inline;
    font-size: 1.6em;
    font-family: sans-serif;
    position: relative;
    top: 0.05em;
}
header h1:before {
    content: "{";
}
header h1:after {
    content: "}";
}
header h1 a:hover {
    text-decoration: underline;
}
header a {
    text-decoration: none;
}

<link href="https://fonts.googleapis.com/css?family=Oswald" rel="stylesheet">
<header>
   <h1><a href="http://jcubic.pl/">Głównie JavaScript</a></h1>
</header>

<div style="width:320px">
<header>
   <h1><a href="http://jcubic.pl/">Głównie JavaScript</a></h1>
</header>
</div>
&#13;
&#13;
&#13;

当标题较小(在小型设备上)时,文本被包装成两行,但第二行的缩进将与第一行对齐。如何使两行文本对齐?我是否需要使用媒体查询?

1 个答案:

答案 0 :(得分:2)

您可以在text-indent上使用否定marginheader h1的组合来实现此目的。它有效,因为text-indent只影响第一行。

&#13;
&#13;
body, html {
    height: 100%;
}
header {
    font-size: 14px;
}
header h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 4em;
    text-transform: uppercase;
    text-indent: -0.6em;
    margin-left: 0.7em;
}
header h1, header h1:before, header h1:after {
    font-weight: normal;
}
header h1:before, header h1:after {
    display: inline;
    font-size: 1.6em;
    font-family: sans-serif;
    position: relative;
    top: 0.05em;
}
header h1:before {
    content: "{";
}
header h1:after {
    content: "}";
}
header h1 a:hover {
    text-decoration: underline;
}
header a {
    text-decoration: none;
}
&#13;
<link href="https://fonts.googleapis.com/css?family=Oswald" rel="stylesheet">
<header>
   <h1><a href="http://jcubic.pl/">Głównie JavaScript</a></h1>
</header>

<div style="width:320px">
<header>
   <h1><a href="http://jcubic.pl/">Głównie JavaScript</a></h1>
</header>
</div>
&#13;
&#13;
&#13;