使用CSS垂直对齐具有不同字体大小的两段文本

时间:2012-03-21 23:48:19

标签: html css fonts alignment

在我的页面顶部,我希望页面标题与屏幕左侧对齐,并在屏幕右侧对齐一个简短的导航菜单。我可以使用float来实现这一点,但是这两个元素具有不同的基线,即文本的基线看起来不同。有没有办法让这个使用CSS工作?我在jsfiddle http://jsfiddle.net/nBPCG/63/

上有一些我正在尝试做的示例

2 个答案:

答案 0 :(得分:1)

您好,您可以在h1中使用display:inline-block

或者看小提琴: - http://jsfiddle.net/nBPCG/101/

答案 1 :(得分:0)

首先,我建议使用ul来包装链接而不是h3,这种结构没有意义。然后我只是在ul添加一些填充。这是一个清理过的标记示例:

<article >
<header>
    <h1>This is Title</h1>
    <nav>
        <ul>
            <li><a href="">Home</a></li>
            <li><a href="">Works</a></li>
            <li><a href="">Blog</a></li>
            <li><a href="">Contact</a></li>  
        </ul>
    </nav>
    <div class="clr"></div>
</header>
</article>

风格:

body {
    font-family:"Verdana", Verdana, sans-serif;
    font-size: 1em;
    font-weight:400;
}

h1 {
    font-family:"Century Gothic", Verdana, sans-serif;
    font-size: 4em;
    font-weight:400;
    float: left;
    margin-left:10px;
}

header nav {
    margin-right: 10px;
    float: right;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 2em 0 0 0;
}

nav ul li {
    display: inline;
    font-size: 1.2em;
    font-weight:400;
}

nav a {
    padding: 0 1em;
    border-right: 1px solid #000;
}

nav li:last-child a {
    padding-right: 0;
    border-right: none;
}

.clr {clear:both;}

小提琴:http://jsfiddle.net/nBPCG/98/