垂直并排放置导航块

马哈茂德·科汉萨尔(Mahmood Kohansal)

我有一些动态导航宽度,固定宽度为25%;页面宽度为100%。

<nav class="football fig1">
    <header>Header</header>
    <article>
        <h3>P1</h3>
        <img src="">
        <p>This is a first News</p> 
    </article>
</nav>

你可以在这里看到我的代码

  1. 由于nav的动态长度,P1和P4之间有一些空白。请帮助我删除使用CSS的所有块的主题。

  2. 另外,没有连续4个块的代码又有什么问题呢?

卡斯特文斯

之所以不适合4个格,是因为您的显示设置为inline-block这会在您无法控制的元素之间创建一些填充。将其替换为浮点数,即可解决所有问题:

nav {
    display: block;            <--this changed from inline-block
    float: left;               <--this line added
    vertical-align: top;
    margin-bottom: 4px;
    overflow: hidden;
    box-shadow: 0 0 2px #888;
}

现在,div彼此抵触,恰好占用了100%的宽度。如果要在两者之间留出一定的余量,则需要考虑到这一点,即:

nav {
    display: block;            
    float: left;               
    vertical-align: top;
    margin-bottom: 4px;
    overflow: hidden;
    box-shadow: 0 0 2px #888;
    margin-left: 0.5%;
    margin-right: 0.5%;
}

由于我增加了1%的保证金,因此您可以将宽度调整为24%以进行补偿。如果您不希望左右留有半边距,则必须通过:last伪类获得创造力,或者向其添加最后一列类。

至于问题的另一部分,我怀疑除非您重组代码,否则它们将始终排在最前面(我可能错了)。如果您知道总会有4个div,则可以通过对div进行重新排序来解决此问题:

<div class='container-col'>
    <div id='col1'></div>
    <div id='col5'></div>
</div>

<div class='container-col'>
    <div id='col2'></div>
    <div id='col6'></div>
</div>

<div class='container-col'>
    <div id='col3'></div>
    <div id='col7'></div>
</div>

<div class='container-col'>
    <div id='col4'></div>
    <div id='col8'></div>
</div>

CSS:

.container-col {
    float: left;
}

因此,现在我们有4个垂直列并排浮动,并且div将垂直堆叠,而它们之间没有任何间隔。是显示结果的小提琴,也保留了边距。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章