2012-08-13 35 views
0

我有一个包含三个导航链接的简单博客 - 接下来是存档和以前的链接。当没有下一个或上一个帖子存在时,呈现博客的引擎将忽略下一个或上一个链接。有没有办法确保移除或者不会影响其他两个的位置?当缺少一个或多个导航链接时,保持导航链接的位置

我试过了几种方法,但我的存档链接总是偏离中心的方向缺席的链接。

编辑:更多信息请参阅Blender。对没有现场演示的道歉。我会看看我能做什么。

我的第一次尝试只是一个列表显示内联和居中在页面的主div。然后,我试图将它拆开,然后在存档的左侧和右侧进行浮动,当所有三个存在时都运行良好,但导致上述漂移。我想要的是链接水平对齐但彼此独立,存档始终以div为中心。

从我鲭模板,后者尝试(与浮子):

<div id="navigation"> 
% if prev_post: 
    <a id="prev" href="${prev_post.permapath()}">&#60;&#60;Prev</a> 
% endif 
% if next_post: 
    <a id="next" href="${next_post.permapath()}">Next&#62;&#62;</a> 
% endif 
    <a id="archive" href="/archive">Archive</a> 
</div> 
+3

没有任何问题的可视化(现场演示是首选),任何人都无法帮助您。 – Blender 2012-08-13 02:05:46

+1

要扩展@Blender的评论,我们需要知道博客引擎为导航链接呈现的HTML。优选地,当全部3个元素存在时以及当它们不存在时。 – 2012-08-13 02:21:58

回答

1

我会改变你的代码,这样,而不是删除的元素,只是删除文本:

<div id="navigation"> 

    <a id="prev" href="${prev_post.permapath()}"> % if prev_post: &#60;&#60; Prev% endif </a> 


    <a id="next" href="${next_post.permapath()}"> % if next_post: Next&#62;&#62; % endif </a> 

    <a id="archive" href="/archive">Archive</a> 
</div> 

现在你可以使用CSS在锚点上设置一个宽度。

a { 
    width: 60px; 
    height: 20px; 
    display: block; 
    float:left;  
} 

不要忘了你需要清除div,因为它包含浮动元素。

看看这个jsfiddle:http://jsfiddle.net/GcpJA/

+0

谢谢,它工作。我还用'text-align:center;'将导航链接置于各自框内。身高也是一个至关重要的特性,因为如果没有它,其他漂浮物就会穿过它。对于mako的用户来说,控制语句只有在线上的第一个文本时才有效,尽管它们之前可以有任意数量的空格。 – AndrewE 2012-08-14 04:12:01