【问题标题】:Best way to keep equal margins CSS保持等边距CSS的最佳方法
【发布时间】:2014-05-21 17:26:31
【问题描述】:

我正在开发一个响应式网格,并试图在每个分辨率下保持 主 div 的所有四个边的边距相同。我已经在主 div 上设置了 margin 0 auto ,它在左右两边保持相等,但是顶部和底部呢?

<div id = "wrapper">
<header id = "header"> <p> this is the header</p></header>
<div id = "main">
    <div id = "" class = "col col3">
        <div class = "img-col"><img src = "images/image.png"></div>
        <div class = "text-col">
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel eros libero. Fusce id semper orci. Morbi      imperdiet sit amet elit vel consectetur. Nam suscipit sem blandit est consectetur iaculis. Vestibulum sed dolor elementum, viverra sapien id, sollicitudin nibh. Integer quis venenatis ligula.Nam suscipit sem blandit est consectetur iaculis.</p>
        </div>
    </div>

    <div id = "" class = "col col1">
        <div class = "img-col"><img src = "images/image.png"></div>
        <div class = "text-col">
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel eros libero. Fusce id semper orci. Morbi imperdiet sit amet elit vel consectetur. Nam suscipit sem blandit est consectetur iaculis.</p> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel eros libero.Lorem ipsum dolor sit amet,. </p>
    </div>
    </div> 

</div>

#main { 
    width:90%;
    margin:0 auto;
}

.col { 
    float:left;
    margin: 1% 0px 1% 1.6%;
    background-color:#FF0000;   
}

【问题讨论】:

  • 这里的“内容”到底是什么......? wrap、header 等的大小呢?这是整个 css 吗?
  • 抱歉,内容是主 div,所以在标题下方我希望边距与两侧和主 div 下方的边距相同

标签: html css responsive-design


【解决方案1】:

编辑澄清后。

如果您需要在#main div 周围所有四个边上的边距相同(上/下/左/右),您必须:

  1. 清除浮动内容,使其不会溢出#main 上设置的底部边距,您可以使用伪元素:afterclear:both;(参见演示)
  2. #main div 上设置margin:10%;。 Ass 百分比边距是根据容器宽度计算的,所有四边距将具有相同的值。

DEMO(带有一些额外的样式,以便您可以看到边距)

这是一个屏幕截图,显示四个边的边距值相同:


原答案:

百分比边距是根据容器宽度计算的,因此如果您在 .col 上设置 margin:1%;,则顶部、右侧、底部和左侧的边距将相同。

Demo

【讨论】:

  • 据我所知,您的演示并未将所有分辨率的内容垂直居中...
  • @TJ OP 声明:“我试图在所有四个边上保持相同的边距” 并且没有提到垂直对齐。我的回答为此提供了解决方案
  • “我已经在主 div 上设置了 margin 0 auto ,这使得它在左右两侧保持相等,但是顶部和底部呢”很明显 op 正在尝试居中对齐高度未知的内容...
  • 是的,我正在尝试从移动设备到大屏幕保持相同的边距大小
  • 我对这两种解决方案都感兴趣。但我最初的问题是在所有四个边上保持相等的边距,不一定要居中。我正在努力让您的解决方案发挥作用。我有我的cols并排所以这可能是为什么?
猜你喜欢
  • 2013-08-04
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 2014-10-27
  • 2010-10-22
相关资源
最近更新 更多