【问题标题】:CSS HTML organize 5 images - cross-browser compatibleCSS HTML 组织 5 张图片 - 跨浏览器兼容
【发布时间】:2011-04-21 13:47:41
【问题描述】:

我想在 ASP.NET MVC 视图中组织 5 张图像。所以我需要的是一个 HTML+CSS 解决方案(我不想为此使用 jQuery,以获得最大的兼容性)。

我想这样组织图像:

  Image1           Image2

  Image3           Image4

           Image5

起初我尝试使用表格,HTML 是:

<div class="table1">
    <table border=1>
      <tbody>
        <tr>
          <td>
              <img class="mainArticleImage" src="../../images/fixedImages/dr_teman_Articles_Body.Contouring.jpg" />
          </td>
          <td>
          <p class="ImageCenterContainer">
              <img class="mainArticleImage" src="../../images/fixedImages/dr_teman_Articles_Breast.jpg" />
          </p>
          </td>
        </tr>
      </tbody>
    </table>            
    </div>                    
    <div class="table2">
    <table border=1>
      <tbody>
        <tr>
          <td>
          <p class="ImageCenterContainer">
              <img class="mainArticleImage" src="../../images/fixedImages/dr_teman_Articles_Skin.jpg" />
          </p>
          </td>
          <td>
          <p class="ImageCenterContainer">
              <img class="mainArticleImage" src="../../images/fixedImages/Dr_teman_Articles_Face.jpg" />
          </p>
          </td>
        </tr>
      </tbody>
    </table>            
    </div>
    <div class="table3">
    <table border=5>
      <tbody>
        <tr>
          <td>
          <p class="ImageCenterContainer">
              <img class="mainArticleImage" alt="" src="../../images/fixedImages/Dr_teman_Articles_Face.jpg" />
          </p>
          </td>
        </tr>
      </tbody>
    </table>            
</div> 

还有css部分:

.mainArticleImage {    
    height: 95px;
    width: 120px;
}
.ImageCenterContainer {
    margin: 0 auto;
    margin-top:0px;
    margin-bottom:0px;
    padding:0px;
    text-align:center;
}

但这在 IE 上不起作用。

This approach 也不太好用。

执行看似简单的任务的最佳、最简单、跨浏览器方法是什么?

【问题讨论】:

  • “不起作用”是什么意思?描述实际发生的情况。
  • 它在 Chrome 中运行良好,但在 IE 中图像不对齐到中心。

标签: html css html-table alignment


【解决方案1】:

这个怎么样:http://jsfiddle.net/um6d7/

【讨论】:

  • 也 - 在 chrome 中效果很好,但在 IE 中效果不佳(所有图像都没有调整大小,所以你会得到一列巨大的图片)
  • 嗯。它完全按照我在 ie 中的预期工作。有没有可能你的 ie 不能正常工作?你用的是哪个版本的ie?
【解决方案2】:

@Brian Flanagan (此回复太长,无法评论)

我使用的是 IE8,但这个解决方案也应该适用于旧版本的 IE。在一个屏幕上组织 5 张图片不应该相当简单吗? :-P

我还应该提到,我没有“按原样”复制和粘贴您的解决方案,因为我不希望我的 css 引用诸如 imgdiv 之类的一般标签,但更改毫无意义在逻辑上。我使用的实际代码:

HTML:

<div id="imagesContainer">
   <img class="articleImage" src="http://upload.wikimedia.org/wikipedia/commons/1/18/Ocellaris_clownfish.JPG" />
   <img class="articleImage" src="http://upload.wikimedia.org/wikipedia/commons/1/18/Ocellaris_clownfish.JPG" />
   <img class="articleImage" src="http://upload.wikimedia.org/wikipedia/commons/1/18/Ocellaris_clownfish.JPG" />
   <img class="articleImage" src="http://upload.wikimedia.org/wikipedia/commons/1/18/Ocellaris_clownfish.JPG" />
   <img class="articleImage middle" src="http://upload.wikimedia.org/wikipedia/commons/1/18/Ocellaris_clownfish.JPG"/>
</div>​

CSS:

#imagesContainer {width:550px; overflow:hidden;}
.articleImage {width:180px; float:left; display:inline; margin:15px;}
.middle {margin:15px 90px;}

有什么建议吗?

【讨论】:

  • 是的,我真的开始认为你的 ie8 有问题。我将您的代码粘贴到一个新的 jsfiddle (jsfiddle.net/MQGEe) 中,并在 ie8、7 和 6 中启动。在我的机器上全部呈现完全相同。
  • 我代表微软道歉。我的资源管理器需要我将其关闭并重新打开以显示代码更改。或者 CTRL+F5。最后我改变了看的方向,但是谢谢。在此过程中,我认为我变得更好地处理 IE/其他所有人的浏览器兼容性。谢谢!
猜你喜欢
  • 2015-03-07
  • 1970-01-01
  • 2012-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
相关资源
最近更新 更多