html - 如何修复导航项的对齐方式?

标签 html css

我遇到了一个问题,我无法将“登录”文本与导航栏的其余部分对齐。使用 marginpadding似乎根本没有把它推高,我设法通过使用 line-height:0 把它调高了 3 个像素。但这还不够。想法?

这就是我要实现的设计。

enter image description here

HTML

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link href="EvositeCSS.css" rel="stylesheet" type="text/css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js">    </script>
<link href='http://fonts.googleapis.com/css?family=Bree+Serif' rel='stylesheet' type='text/css'>
<script src="EvositeJS.js"> </script>
</head>

<body>
<div class="wrapper">

<div class="NavBar">
        <div class="VictoriaHouse">
            <img src="Images/VictoriaHouse.JPG" alt="Victoria House & Viney Court">
        </div>
            <div class="ActivePage">
                <img src="Images/Triangle.PNG"> </img>
            </div>

            <div class= "LoginContainer">
                <div class="DownTriangle">                
                    <span class="glyphicon glyphicon-triangle-bottom" </span>
                </div>
                <h1 class="LoginTxt">Log in </h1> 
            </div>

        <ul>
       <li> <a href="Evosite.html" class="NavHome" id="Current")> Home </a> </li>
       <li> <a href="#" class="NavLink"> News </a> </li>
       <li> <a href="#" class="NavLink"> Tenants </a> </li>
       <li> <a href="#" class="NavLink"> Heritage </a> </li>
       <li> <a href="#" class="NavLink"> About Us </a> </li>
       <li> <a href="#" class="NavLink"> Book the Meeting Room </a> </li>
       <li> <a href="#" class="NavContact"> Contact Us </a> </li>


      </ul>
</div> <!-- Ends NavBar <-->

</div> <!-- Ends wrapper -->
</body>

</html>

CSS

@charset "utf-8";
/* CSS Document */

.wrapper {
width:100%;
height:100%;
margin-left:auto;
margin-right:auto;
}

.VictoriaHouse {
padding-left:270px;
padding-top:20px;
padding-bottom:20px;
padding-right:140px;
float:left;
}

/* NavBar formatting */

.NavBar {
float:inline-block;
text-decoration:none;

}

ul {
float:inline-block;
padding-top:45px;
}

li {
display: inline;
}

a { 
font-family: Bree Serif;
font-size:20px
}

a:link {
color:#002D62;
background-color:white;
}

a:visited {
color:#002D62;
text-decoration:none;
background-color:white;
}

a:hover {
text-decoration:none;
color: #007D68; /* Green */
}

a:active{
text-decoration:none;
color: #F68E56; /* orange */
}

.NavLink {
margin-left:20px;
text-decoration:none;
}

.NavHome {
margin-left:30px;
text-decoration:none;
}

.NavContact {
margin-left:20px;
text-decoration:none;
}

#Current {
color: #F68E56; /* orange */
}

.ActivePage {
float:left;
padding-top:25px;
padding-left:50px;
width:auto;
}

.LoginTxt {
font-family: Bree Serif;
font-size:20px;
color:#FF5A40;
padding-left:25px;
float:left;
}

.LoginContainer {
border-style:solid;
border-width:1.5px;
border-radius:5px;
border-color:#F68E56;
width:120px;
height:40px;
float:right;
margin-right:300px;
margin-top:40px;
}

.DownTriangle {
padding-left:90px;
padding-top:15px;
float:left;
position:relative;
}

.LoginTxtContainer {
margin-top:10px;
}

最佳答案

首先需要解决几个问题。

1 <img>是一个自闭标签,删除 </img>来自 <img src="Images/Triangle.PNG"> </img> , 或使用 <img src="" />

2 缺少结尾 >这里<span class="glyphicon glyphicon-triangle-bottom" </span>

3 删除 )来自 <a href="Evosite.html" class="NavHome" id="Current")>


将登录按钮放在正确位置的最佳方法是稍微调整结构,将其移动到导航栏旁边。并且不要使用 <h1>因为它不是标题。

我重写了大部分 CSS,删除了所有不必要的样式,请参阅下面的详细信息和演示。

CodePen Demo

/* For Demo Only */

@import url("https://fonts.googleapis.com/css?family=Bree+Serif");
@import url("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css");

/* CSS Document */

body {
  font-family: "Bree Serif";
}

.wrapper {
  width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* NavBar formatting */

.NavBar {
  overflow: auto;
  font-size: 20px;
}

.VictoriaHouse,
.MainNavigation {
  float: left;
}

.MainNavigation {
  padding-top: 30px;
}

.MainNavigation ul {
  margin: 0;
  padding: 0 0 0 20px;
}

.MainNavigation li {
  display: inline-block;
  vertical-align: top;
}

.MainNavigation a {
  margin: 0 10px;
  text-decoration: none;
  color: #000;
  display: block;
  position: relative;
}

.MainNavigation #Current:after,
.MainNavigation a:hover:after {
  content: url("http://i.imgur.com/zN4WiYV.png");
  color: #F68E56;
  width: 100%;
  text-align: center;
  position: absolute;
  top: -20px;
  left: 0;
}

.MainNavigation a:hover {
  color: #007D68;
}

.LoginContainer {
  float: right;
  margin-top: 25px;
  border: 1px solid #F68E56;
  border-radius: 5px;
  width: 120px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.LoginContainer .LoginTxt {
  text-decoration: none;
  color: #FF5A40;
}

.LoginTxt .glyphicon {
  font-size: 14px;
  color: #000;
}

.LoginTxt:hover .glyphicon {
  color: #FF5A40;
}
<div class="wrapper">
  <div class="NavBar">
    <div class="VictoriaHouse">
      <img src="http://i.imgur.com/eB6yyLi.jpg" alt="Victoria House & Viney Court" />
    </div>
    <div class="MainNavigation">
      <ul>
        <li> <a href="Evosite.html" class="NavHome" id="Current"> Home </a> </li>
        <li> <a href="#" class="NavLink"> News </a> </li>
        <li> <a href="#" class="NavLink"> Tenants </a> </li>
        <li> <a href="#" class="NavLink"> Heritage </a> </li>
        <li> <a href="#" class="NavLink"> About Us </a> </li>
        <li> <a href="#" class="NavLink"> Book the Meeting Room </a> </li>
        <li> <a href="#" class="NavContact"> Contact Us </a> </li>
      </ul>
    </div>
    <div class="LoginContainer">
      <a class="LoginTxt" href="#"> Log in <span class="glyphicon glyphicon-triangle-bottom"></span> </a>
    </div>
  </div>
  <!-- Ends NavBar <-->
</div>
<!-- Ends wrapper -->

关于html - 如何修复导航项的对齐方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31370444/

相关文章:

javascript - 允许滚动和单击以浏览重叠的 Div

jquery - 如何找到附加了特定类的 tr 并获取每个 td 的详细信息 - jquery

asp.net - GridView 固定标题 CSS 对齐

javascript - 表单未按时自动提交

javascript - jQuery动画从左到右有间隙

html - 提供字体大小、系列和行高时,div 高度不正确

css - Google 自定义搜索不会预览

javascript - 单击链接时显示文本

asp.net - Asp.net 中的 css3PIE 或 PIE.htc

html - 内部带有动态数字的可缩放圆圈