使用css和html创建内容网格布局很困难

时间:2012-09-03 20:31:55

标签: html css html5 grid css-float


我正在尝试使用tags和css创建网格布局。我需要网格系统来保存下图中描绘的四个主要块。我已经创建了一个在safari和chrome中运行良好的解决方案,但在firefox中不太好,因为标题重叠。

请看下面的代码,也许有人可以看到我哪里出错了!我不能为我的生活找到问题。

enter image description here


HTML代码: -

<div class="elements_wrapper">

         <div id="element1">
           <img class="align-image" src="img/image1"/>                                          
               <span class="element-title">Title</span>
                   <p class="element-explain">Main text goes here</p>
         </div>

         <div id="element2">
           <img class="align-image" src="img/image2"/>                                          
               <span class="element-title">Title</span>
                   <p class="element-explain">Main text goes here</p>
         </div>

         <div id="element3">
           <img class="align-image" src="img/image3"/>                                          
               <span class="element-title">Title</span>
                   <p class="element-explain">Main text goes here</p>
         </div>

         <div id="element4">
           <img class="align-image" src="img/image4"/>                                          
               <span class="element-title">Title</span>
                   <p class="element-explain">Main text goes here</p>
         </div>                                          
    </div> 



CSS代码: -

.elements_wrapper {
    width:100%;
    margin-left:-65px;
    margin-top:110px;   
    padding-bottom:30px;
}


#element1{
    position:absolute;
    display:inline-block;
    margin-left:30px;
    padding-bottom:20px;

}


#element2 {
    position:absolute;
    display:inline-block;
    margin-top:200px;
    margin-left:30px;
    padding-bottom:20px;
}


#element3 {
    position:absolute;
    display:inline-block;
    margin-left:545px;
    margin-top:200px;
    padding-bottom:20px;

}


#element4 {
    position:absolute;
    display:inline-block;
    margin-left:545px;
    padding-bottom:20px;
}

.element-title {
    font-family:helvetica, arial, serif;
    color:black;
    display:inline;
    font-size:14pt;
    font-weight:bold;
    padding-top:15px;
}

.element-explain {
    font-family:helvetica, arial, serif;
    font-size:10pt;
    float:left;
    width:280px;
}


.align-image {
    border: none; 
    float:left; 
    padding-right:15px;
}



我的代码在safari和chrome中效果很好,但在firefox中效果不是很好,请帮忙。另外,如果我已使用的代码不好或需要更改以确保跨浏览器兼容性,请告诉我。非常感谢。

2 个答案:

答案 0 :(得分:0)

.element-explain {
    font-family:helvetica, arial, serif;
    font-size:10pt;
    float:left; 
    width:280px;
}

向左浮动将导致此错误。 Firefox的浮动元素比Chrome和IE有点挑剔。删除它应该可以解决您的问题。

答案 1 :(得分:0)

请参阅下一个示例:http://jsfiddle.net/ZNSAX/2/