CSS响应式图像技术之谜

标签 css image

我一直在研究一些响应式图像技术,并遇到了一件让我感到困惑的事情。

我有一张图片包裹在容器内的 href 标签中。容器用作井,容器将所有东西放在一起。 href 标记用作定义了特定大小的图像容器。然后将图像 width 设置为 100% 以适合其容器。

代码如下:

The HTML:
---------
<div class="img-conatiner"> 
    <a href="#" class="img-grid">
        <img src="http://placekitten.com/300/300" alt="kittens!">
    </a>
    <a href="#" class="img-grid">
        <img src="http://placekitten.com/300/300" alt="kittens!">
    </a>
    <a href="#" class="img-grid">
        <img src="http://placekitten.com/300/300" alt="kittens!">
    </a>
    <a href="#" class="img-grid">
        <img src="http://placekitten.com/300/300" alt="kittens!">
    </a>
    <a href="#" class="img-grid">
        <img src="http://placekitten.com/300/300" alt="kittens!">
    </a>
    <a href="#" class="img-grid">
        <img src="http://placekitten.com/300/300" alt="kittens!">
    </a>
</div>

The CSS
-------
body {
    width: 90%;
    margin: 0 auto;
    background: tomato;
}

.img-grid {
    width: 20%;
    float: left; <-- what is this for?
    padding: 10px;
    -webkit-box-sizing: border-box;
}

.img-grid img {
    width: 100%;
}

示例:http://jsfiddle.net/TBVWG/2/

事情是这样的,如果没有 float,这个技术就不起作用,图像放大到原来的大小,忽略父容器的宽度。但是 float 是如何把所有东西放在一起的呢?

提前致谢。

最佳答案

float 元素自动使其成为 block 元素。 Here's an article talking about implied blocks .

如果你没有 float <a>显示为无法设置宽度的跨度,因此 <a>扩展以适合内部图像的实际大小。

关于CSS响应式图像技术之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19557703/

相关文章:

javascript - 展示内容的最佳实践

image - 如何通过 WCF 传输图像文件?

c++ - 使用 FLTK 和 C++ : Making a function that fits an image within a defined frame

javascript - 单击此图像的 map 区域时获取 img 标签 ID

android - 如何在 Android 中添加 java.awt.image 包

html - 仅使用 css 尽可能扩展 div?

javascript - JQuery 动画和 slideUp 同时

css - 在 wordpress 站点中带有内部按钮的输入字段

c# - MySQL BLOB 图像数据逐渐丢失?

javascript - 多个单选按钮组的事件监听器