css - 如果 div 为空,则忽略边距

标签 css html alignment

我有 2 个 DIV,彼此水平对齐并使用包装器居中。 我使用 margin-right 将 DIV2 与 DIV1 分开。 DIV2 可能没有内容。如果 DIV2 没有内容,我希望忽略边距,让 DIV1 单独居中。

这是我的 CSS:

#div1 {
     display: inline-block;
     width: 100px;
     border: 1px solid #000000;
     margin-left: 200px;
}
#div2 {
     display: inline-block;
}

这是 HTML:

<div style="text-align:center;">
     <div id="div1">Div1</div>
     <div id="div2"></div>
</div>

我创建了一个 fiddle 供您使用:http://jsfiddle.net/wfrcG/3/

在 CSS 中是否有一种方法可以在没有 javascript 的情况下实现这一点?

最佳答案

您可以使用 :empty如果元素为空,则将边距设置为 0 的伪类。

EXAMPLE HERE

#div2:empty {
    margin:0;
}

关于css - 如果 div 为空,则忽略边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23378296/

相关文章:

jquery - div 中的主页,不适用于 IE

javascript - 获取没有类别/ID 的 OnClick 选项值

html - 如何对齐包含多个div的div以居中对齐

css - 在 IE8 中 anchor <a> 对齐关闭?

html - 图片旁边的垂直文本对齐

html - 使用 CSS 添加渐变背景

html - 如何根据大小和类型选择特定的输入元素?

javascript - 点击隐藏文件输入jQuery报错

css - 用光标关闭时更改主 Wordpress 菜单悬停颜色

php - 如何修复重置类型输入并没有真正重置所有表单?