使用css浮点数排列div元素

时间:2014-12-18 10:33:52

标签: html css

我有以下随机生成的div元素,因此我无法对单个div元素进行更改。这是示例http://jsfiddle.net/y638o46h/2/。但我需要进行特定更改。我希望第一个和第四个帖子占用的空间被一个帖子占用。第一个图像需要是其余部分的两倍。总共会有五个图像被渲染。我已经尝试过但无法弄清楚如何。

HTML

<div class="relatedposts">
 <div class="relatedthumb">
     <img src="http://placekitten.com/336/200" >
        <h3 class="justin-cover">Lets make this work</h3>
 </div>
  <div class="relatedthumb">
     <img src="http://placekitten.com/336/200" >
         <h3 class="justin-cover">Lets make this work</h3>
 </div>
  <div class="relatedthumb">
     <img src="http://placekitten.com/336/200" >
         <h3 class="justin-cover">Lets make this work</h3>
 </div>
  <div class="relatedthumb">
     <img src="http://placekitten.com/336/200" >
         <h3 class="justin-cover">Lets make this work</h3>
 </div>
  <div class="relatedthumb">
     <img src="http://placekitten.com/336/200" >
         <h3 class="justin-cover">Lets make this work</h3>
 </div>
  <div class="relatedthumb">
     <img src="http://placekitten.com/336/200" >
        <h3 class="justin-cover">This one clearly has too many lines that do not fit</h3>
 </div>   

CSS

*{
margin: 0;
padding: 0;
box-sizing: border-box;}



.relatedposts {
display:table; 
width:1024px;font-size: 0;
/* fix inline gap */
margin: 0 auto;}



.relatedthumb {
float: left;
margin-left:5px;
position: relative;
margin-bottom:10px;
}
.relatedthumb img {
text-align:center;
}
.justin-cover {
color: #fff;
font-size: 30px;
font-weight: 500;
/* height: 30%; */
width: 100%;
position: absolute;
bottom: 0;
left:0;
background: rgba(0,0,0,0.5);
padding: 10px;
transition: all 0.5s;
}

2 个答案:

答案 0 :(得分:0)

您可以在CSS中尝试这样的事情:

.relatedthumb:first-child img {
    height: 300px;   /* with your desire size */
    width:300px;     /* with your desire size */
}

此处,:first-child将仅定位第一个元素。

答案 1 :(得分:0)

因为我发现你需要根据数字来表示不同的div。

示例:第一个图像红色边框和第四个蓝色边框

您可以使用jquery来解决此问题

你可以设置两个班级

class="relatedthumb special"

对于想要使其特殊的div

$(".specail").css("border","red")

如果不是您搜索的解决方案,请再解释一下您的问题

或者你可以在课堂上完成:

var count = 0;

$( "#relatedthumb " ).each(function( i ) {
    if(count%4 == 0)
    {
       this.style.width= "400";
       this.style.height= "400";
     }
     count++;
  });

因此每次迭代中的第一张图像的大小为400 * 400