【问题标题】:CSS list border bottom spacing issueCSS列表边框底部间距问题
【发布时间】:2013-07-17 18:43:59
【问题描述】:

我对这部分 CSS 有疑问,我似乎无法找到它。

我有点 PHP:

<ul>
<?php if($page=="home"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/" alt="Home page">Home</a></li> 
<?php if($page=="about"){echo"<li class='active'>";}else{echo"<li>";}?><li><a href="http://www.trevorpeyton.com/about/" alt="Learn all about me">About</a></li> 
<?php if($page=="contact"){echo"<li class='active'>";}else{echo"<li>";}?><li><a href="http://www.trevorpeyton.com/contact/" alt="Contact me">Contact</a></li> 
<?php if($page=="projects"){echo"<li class='active'>";}else{echo"<li>";}?><li><a href="http://www.trevorpeyton.com/projects/"alt="View projects I am working on/completed">Projects</a></li> 
<?php if($page=="sites"){echo"<li class='active'>";}else{echo"<li>";}?><li><a href="http://www.trevorpeyton.com/sites/" alt="View websites I have made">Sites</a></li> 
<?php if($page=="demo"){echo"<li class='active'>";}else{echo"<li>";}?><li><a href="http://www.trevorpeyton.com/demo/" alt="Demo the new user features">Demo</a></li> 
</ul> 

现在,它会在每个页面上定义$page。问题是当页面处于活动状态时,它会在项目下方显示一个栏。该栏浮动到页面的右侧,主页项目位于最右侧。如果那个是活动的,那么它工作得很好。当任何其他项目处于活动状态时,该行位于左侧。这是我的 CSS:

#header {
position:fixed;
background:#222;
color:#999;
width:100%;
margin:0px;
padding:0px;
top:0;
z-index:1;
height:5%;
}
#header ul li{
display: inline;
margin:0;
float:right;
display:block;
padding:5px 10px;
}
#header .active{
border-bottom: solid 3px orange;
}

对

错误

我知道这与间距有关,但我就是想不通。我不是 CSS 人。

【问题讨论】:

  • 为什么在询问“CSS/HTML”问题时要发布 PHP 代码?
  • @Connor 因为当您不显示所有代码时,人们会对您嗤之以鼻。 PHP 部分是必不可少的,但不会导致问题。
  • 这不是必须的请你复制输出的HTML
  • 更好 - 在jsfiddle 或类似网站上重现问题
  • 1) 您的 php 代码缺少 。 2)您正在谈论的下方栏是边框底部? 3) 你确定要将它们浮动到右边吗?

标签: php html css navbar


【解决方案1】:

我猜你的输出超出了&lt;li&gt;标签所需的数量

<?php if($page=="demo"){echo"<li class='active'>";}else{echo"<li>";}?><li><a href="http://www.trevorpeyton.com/demo/" alt="Demo the new user features">Demo</a></li> 

这将要么输出

<li class='active'>
   <li><a href="http://www.trevorpeyton.com/demo/" alt="Demo the new user features">Demo</a></li> 

或

<li>
   <li><a href="http://www.trevorpeyton.com/demo/" alt="Demo the new user features">Demo</a></li> 

所以看看这是否是问题使用这个

<ul>
    <?php if($page=="home"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/" alt="Home page">Home</a></li> 
    <?php if($page=="about"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/about/" alt="Learn all about me">About</a></li> 
    <?php if($page=="contact"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/contact/" alt="Contact me">Contact</a></li> 
    <?php if($page=="projects"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/projects/"alt="View projects I am working on/completed">Projects</a></li> 
    <?php if($page=="sites"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/sites/" alt="View websites I have made">Sites</a></li> 
    <?php if($page=="demo"){echo"<li class='active'>";}else{echo"<li>";}?><a href="http://www.trevorpeyton.com/demo/" alt="Demo the new user features">Demo</a></li> 
</ul>

【讨论】:

  • 很好——讽刺的是,这与@Connor 关于发布 PHP 的评论相矛盾 :) (尽管反驳:希望 OP 会注意到双重 &lt;li&gt; 并且可能甚至不会问这个问题完全)
  • 是的,我应该更加谨慎。简单的错误,谢谢。
  • 那么,这是问题所在吗?
  • @Connor 是的,你回答得太快了,虽然我还不能接受。
  • 好的。酷....... @gregmac 你有半点意见。如果问题是关于 PHP 的,你会很清楚,我们假设这是一个 CSS 错误,所以我们无法解决 PHP :D
猜你喜欢
  • 2017-03-29
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-18
  • 2021-07-05
  • 2012-02-07
相关资源
最近更新 更多