html - 垂直并排放置导航 block

标签 html css user-interface

我有一些动态大小的导航,宽度固定大小:25%;在 100% 的页面宽度中。

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

你可以看到我的代码here .

  1. 由于导航的动态长度,P1 和 P4 之间有一些空白。请帮我用 css 删除所有 block 的主题。

  2. 另外4个block不在一行的代码有什么问题?!

最佳答案

您不适合 4 个 div 的原因 是因为您的显示设置是 inline-block。这会在您无法控制的元素之间创建一些填充。将其替换为 float ,一切都解决了:

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% 的宽度。如果你想在你之间有一个 margin ,你需要考虑到这一点,即:

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 伪类来发挥创意,或者向它添加一个 last-column 类。

至于问题的另一部分,我怀疑除非您重构代码,否则它们将始终排在顶部(我可能是错的)。如果您知道总有 4 个横跨,您可以通过重新排序 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 个并排 float 的垂直列,div 将垂直堆叠,它们之间没有空间。 Here是一个显示结果的 fiddle ,它也保留了边距。

关于html - 垂直并排放置导航 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17652490/

相关文章:

javascript - 来自与 Cordova 一起使用的基于 Android HTML5 的应用程序的流行相机或视频捕获选项

css - React 和 MUI - 我的点击按钮动画没有像我想要的那样工作

html - 如何隐藏表格边缘的行和列?

html - 如何处理移动屏幕和标签屏幕中宽度和高度为 100% 的背景图片?

python - 将 yaxis 固定到位

Java 布局管理器提示

html - 如何呈现 report.rdlc 中的格式化文本(及其格式)

html - 如何创建模拟多个深度的箱形阴影

html - 如何让一个 child 以两个轴为中心,其他 child 围绕着它?

java - 如何动态地在 Java 中绘制(星形)拓扑?