[英]Remove horizontal spacing when using position:relative in navigation bar
我正在尝试创建一个PHP导航栏。 我使用以下代码提出了一个漂亮的方案:
CSS:
a.navbar:link { color:#AAAAFF; text-shadow:none;
padding: 5px 12px; white-space:nowrap; font-size:15px;}
a.navbar:visited { color:#AAAAFF; text-shadow: #4444FF 0.0px 0.0px 2px}
a.navbar:hover { color:#CCCCCC; background:#444488; }
a.navbar:active { color:grey; }
a.navbar {padding:none; font-size:15px;}
span.leftbraces { font-size:25pt; padding: 0px 0px;
position:relative; right:-9px; bottom:-3.75px;}
span.rightbraces { font-size:25pt; padding: 0px 0px;
position:relative; left:-9px; bottom:-3.75px;}
PHP:
<?php
echo "<center>";
$links = array('Home'=>'index.htm', 'Site Map'=>'sitemap.htm');
$leftbrace = "<span class=leftbraces>[</span>";
$rightbrace = "<span class=rightbraces>]</span>";
foreach ($links as $key => $value) {
echo "$leftbrace<a class=navbar href=\"$value\">$key</a>$rightbrace";
}
echo "</center>";
?>
和html:
<html>
<link rel="stylesheet" type="text/css" href="style.css">
<?php include 'navbar.test.php';?>
</html>
如何在不放弃紧密贴合的背景填充的情况下消除括号之间的空间? 我包含的<table>
标记不是必需的,这只是我最近一次尝试使其生效。
[主页]我想摆脱这个空间[网站地图]
但我想保持突出显示的紧密配合
您可以将[Home]和[Site Map]包裹在一起。 将此包装的边距设置为-8px。
旁注 :由于您正在显示静态内容,因此回声效率很低。 这将导致服务器在每个页面请求中重现相同的输出。
这是一种更好的方法:
导航中的链接列表就是列表。 代替使用表,而使用ul
或无序列表。 在我的示例中,我还使用了nav
元素,即HTML5。 您可以轻松地将它替换为div
。
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Site Map</a></li>
</ul>
注意,我没有在标记中包括方括号。 这是故意的。 这些括号不会增加网站的内容或含义,而应在CSS范围内。
这可以通过伪元素轻松完成:
nav a:before {content:'['; display:inline;}
nav a:after {content:']'; display:inline;}
您将失去对旧版本IE的支持,但是所有人(包括IE用户),尤其是使用屏幕阅读器或其他可访问性问题的用户,都将从删除多余的span
受益。 它也会正常降级。
这是一个演示 。
删除“导航栏”元素上的填充以及括号中的负边界。 像这样: http : //jsfiddle.net/kDq29/1/ 。
还要注意HTML标记中的错误。
编辑:我忘记了从chrome保存更改。 现在更新。
'] [[]空间是由括号的左,右,底部属性引起的。
span.leftbraces { font-size:25pt; padding: 0px 0px;
position:relative; right:-9px; bottom:-3.75px;}
span.rightbraces { font-size:25pt; padding: 0px 0px;
position:relative; left:-9px; bottom:-3.75px;}
删除位置属性,并通过其唯一属性对齐文本。 -访问: http : //jsfiddle.net/fPty7/1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.