0

我在 Mac 上使用 Chrome/Firefox。请看一下这个页面

有一个水平滚动条,所以右边有额外的边距。在Stackoverflow上四处嗅探,我发现它与 H1 (H2) 上的 width=100% ... 因为跳过它,额外的边距消失了 ... :) ... 但现在 H1 在左侧,并且不是我想要的... :(

header 
{
    background-color: #73020c;
    padding-bottom: 110px; /* to push .banner down */
}

hgroup 
{
    position: relative;
    text-align: center; /* to center h1 en h2 */
    z-index: 1;
}

h1 
{
    font-family: 'BebasNeueRegular', sans-serif;
    color: #fff;
    line-height: 100%;
    font-weight: normal;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    margin-left: -50%; /* half the width */
    z-index: 2;
    letter-spacing: 0.15em;
    padding-left: 0.15em; /* to compensate letter-spacing h1 */
}

h2 
{
    font-family: 'MutluOrnamental', sans-serif;
    line-height: 100%;
    font-weight: normal;
    color: #b7b7b7;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    margin-left: -50%; /* half the width */     
    z-index: 3;
    padding-top: 10px; /* !important > to make h2 fit in relation to h1 */
}

/* for all browser including all IE! */
h2 {
    opacity: 0.75;
    zoom: 1;
    filter: alpha(opacity=75);
}
4

2 回答 2

1

我刚刚在 Safari 中对此进行了测试(它显示了同样的问题,因为它也是基于 Web 工具包的)。

我将其修复如下:

h1 
{
    font-family: 'BebasNeueRegular', sans-serif;
    color: #fff;
    line-height: 100%;
    font-weight: normal;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    height: 100%;
    z-index: 2;
    letter-spacing: 0.15em;
    text-align: center;
}

我已经删除了 -50% 的居中方法,这样块就不会被推离页面(导致问题)并返回到 text-align: center。我还不得不删除这一行:

padding-left: 0.15em; /* to compensate letter-spacing h1 */

但在我看来,从视觉上看,这不会造成任何问题。

蒂姆

于 2012-06-11T08:17:49.653 回答
0

So H1 has to be extended with box-sizing:

h1 
{
    font-family: 'BebasNeueRegular', sans-serif;
    color: #fff;
    line-height: 100%;
    font-weight: normal;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    margin-left: -50%; /* half the width */
    z-index: 2;
    letter-spacing: 0.15em;
    padding-left: 0.15em; /* to compensate letter-spacing h1 */
    -webkit-box-sizing: border-box; /* content-box */
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

... and there is a polyfill too ... :)

于 2012-06-11T08:55:00.093 回答