我正在使用Potomaks Instagram Jquery脚本为特定标签提取图像。我将CSS设置为自动调整图像大小,以便该行适合整个表格。
表格设置为100%,图像的主要div设置为100%。
但出于某种原因,无论我做什么,最后都会有一个GAP。我已经彻底检查了代码,没有解释。我怀疑它的可能与float相关:左或与javascript相关。
无论如何,我的目标是让图像以20%的图像宽度填充整个表格(每行5张图像)。
就像现在一样,无论图像是10%,15%,20%,右边都有差距
http://postimg.org/image/rkz5zxtfr/
我的HTML如下:
<script src="jquery.instagram.js"></script>
<link rel="stylesheet" href="jgram.css" type="text/css" />
<script type="text/javascript">
$(function(){
var tokeny= "xxxx";
var ids= tokeny.substr(0, tokeny.indexOf('.'));
var
insta_container = $(".instagram")
, insta_next_url
insta_container.instagram({
hash: 'motorcycles'
, clientId: 'xxxx'
, accessToken: tokeny
, show : 15
, image_size: 'low_resolution'
, onComplete : function (photos, data) {
insta_next_url = data.pagination.next_url
}
})
$('button').on('click', function(){
var
button = $(this)
, text = button.text()
if (button.text() != 'Loading...'){
button.text('Loading...')
insta_container.instagram({
next_url : insta_next_url
, show : 50
, image_size: 'low_resolution'
, onComplete : function(photos, data) {
insta_next_url = data.pagination.next_url
button.text(text)
}
})
}
})
});
</script>
<div class="instagram"></div>
<br>
<button class="instamore">More</button><br><br>
所有内容都加载到“instagram”div中。从那里,图像进入另一个div“instagram-placeholder”。
这是CSS:
.instagram {
width:100%;
}
.instagram-placeholder {
float:left;
width:15%;
height:15%;
}
.instagram-image {
width:100%;
height:100%;
border-style: none;
}
.instamore{
width: 100%;
color: #fbfbfb;
font-style: italic;
font: 30px Sans-Serif;
padding: 0px 5px;
display: inline-block;
background-color: #3F3F3F;
border-radius: 2px;
-o-border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border: 1px solid #000000;
margin-right: 3px;
margin-top:10px;
margin-bottom:10px;
cursor:pointer
}
答案 0 :(得分:3)
默认情况下,width
不包含border
。因此,具有width: 20%
和3px边框的元素实际上是20% + 6px
宽。您可以使用box-sizing
更改此行为:
.instagram-placeholder{
float:left;
width:15%;
height:15%;
border:3px double #999;
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
}
这会使width
包含border
。
没有该属性,第5张图片包裹:
有了它,它不会:
请注意,这是IE8 +,并且需要FF的前缀和其他一些版本的早期版本。 http://caniuse.com/#feat=css3-boxsizing