我一直在愚弄这个将要进入标题div的小菜单。我不确定出了什么问题,但是在标题div中获取菜单中心的唯一方法是在跨度内使用跨度和编码。我真的不想使用跨度,因为有很多代码似乎是浪费。现在我的网页位于:
http://tahoe-luxury-properties.com/index2.html
由于这个论坛,我取得了很大的进步。菜单从页面顶部开始:
<p class="hot-menu">Search Tahoe Lakefronts<span>Search West Shore Tahoe Lakefronts</span><span>Search Squaw Valley Luxury Homes</span></p>
我试图用div或p来控制它。:
.hot-menu {
margin: 0px;
vertical-align: middle !important;
font-size: 15px !important;
letter-spacing: 1.1px !important;
font-family: Lato, Arial, Verdana !important;
color: #FFFFFF !important;
padding-right: 15px;
}
我想也许它会在导航中心,因为p标签有某种形式的控制,所以我尝试了一个div,但仍然没有运气。
我只是希望它看起来像这样:
http://tahoe-luxury-properties.com/index3.html
有什么建议吗?非常感谢。 -Beth
答案 0 :(得分:1)
我强烈建议您使用nav
标记和无序列表结构,例如 @A。 Sharma 在评论中提出。这将允许更好的HTML语义,并且更易于维护和样式。
要实现您的目标,有多种方法,包括使用transform
,display: table-cell
或flexbox
。
在下面的代码片段中,您将找到flexbox解决方案,因为我认为它是最简单/最佳/现代解决方案。
- 注意:问题没有说明小型设备会发生什么。您可以使用CSS媒体查询来处理此问题。
CODE SNIPPET
body {
background-color: dodgerblue;
/* Illustration purposes only.*/
}
.hot-menu {
display: inline-block;
}
.hot-menu > ul {
margin: 0;
list-style: none;
padding-right: 0 40px;
display: flex;
}
.hot-menu > ul li {
font-size: 15px;
letter-spacing: 1.1px;
font-family: Lato, Arial, Verdana;
color: #FFFFFF;
height: 100px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 10px;
border: 1px solid cyan;
/* Illustration purposes only.*/
}
<nav class="hot-menu">
<ul>
<li>Search 1</li>
<li>Search 2</li>
<li>Search 3</li>
</ul>
</nav>
测试:Chrome的最新版本。
答案 1 :(得分:0)
尝试将以下行添加到导航类:
float: right;
line-height: 60px;
这应该使它按照你想要的方式工作。
答案 2 :(得分:-2)
除非将元素指定为表格单元格,否则元素本质上将忽略vertical-align
属性。您可以在元素上应用display: table-cell;
,并将display: table;
添加到其父级,如下所示:
.nav_container {
display: table;
width: 100%;
}
.nav_item {
display: table-cell;
text-align: center;
vertical-align: middle;
}