【问题标题】:css, html, Image alignmentcss, html, 图像对齐
【发布时间】:2011-02-28 23:42:02
【问题描述】:

我有 6 张图片,需要将它们对齐为:

 Img1        Img2

 Img3        Img4

 Img5        Img6

我该怎么办?我不能正确地做到这一点。

<Image src = "" style = "margin-top: -10em; margin-left: -50em; float: left; width: 450px;" />

<Image src = "" style = "margin-top: -10em; margin-left: -10em; float: left; width: 450px;" />

<Image src = "" style = "margin-left: -120em; margin-top: -50em; float: left; width: 450px;" />

<Image src = "" style = "margin-left: -120em; margin-top: -50em; float: left; width: 450px;" />   

<Image src = "" style = "margin-left: -120em; margin-top: -50em; float: left; width: 450px;" />   

<Image src = "" style = "margin-left: -120em; margin-top: -50em; float: left; width: 450px;" />

图像大小相同。

【问题讨论】:

    标签: html css


    【解决方案1】:

    很抱歉,但是

    请不要使用内联样式。

    看在上帝的份上,don't use tables for non-tabular data

    将它们全部放在一个列表中:

    <ul>
      <li><img 1></li>
      <li><img 2></li>
      <li><img 3></li>
      <li><img 4></li>
      <li><img 5></li>
      <li><img 6></li>
    </ul>
    

    在单独的样式表中设置样式:

    ul li {
      float: left;
      width: 49%;
    }
    

    什么的。如果您不希望列表占据整个屏幕,只需指定 ul 宽度即可。

    【讨论】:

      【解决方案2】:

      包装一个

      - 在它们周围标记,如下所示:
      <div style="width:yourimagewith x 2">
        <img src="1" />
        <img src="2" />
        <img src="3" />
        <img src="4" />
      </div>
      

      此解决方案不会让您对样式和浮动等大惊小怪。 另外,如果你添加新图片,你不必在每两张图片之后添加一个新的 div 标签,这对我来说似乎不便于维护。

      【讨论】:

        【解决方案3】:

        这就是诀窍:

        img { float:left; }
        img:nth-child(odd) { clear:left; }
        

        现场演示: http://jsfiddle.net/simevidas/9k6ML/1/

        注意,一些落后的浏览器(IE...khm)不支持:nth-child(odd)

        【讨论】:

          【解决方案4】:

          只需将每个图像向左浮动,然后在每第二个图像之后输入以下 &lt;div style="clear: both;"&gt;&lt;/div&gt; 即可解决您的问题。

          【讨论】:

          • 会支持但今天全部使用它们:) 使用 .css 文件中的外部类会更好
          • 我认为不使用内联样式是常识......他只是在快速演示之后,而不是关于如何改进标记结构的指南。
          • @ZeSimon 您应该始终教授最佳实践,如果您不这样做,人们会相信您所做的事情对于生产代码来说是可以的,以身作则(不是我的反对意见)
          • 我没有任何不尊重的意思,我只是相信作为开发人员,我们有义务始终编写好的代码——即使作为示例 :)
          • 不,不,代表我很抱歉......起初我生气了,因为我认为你只是为了它而投了反对票,但是你提出了一个有效的观点。由于这些类型的问题,我从事过无数令人沮丧的项目。我会传播你的遗产:)。
          猜你喜欢
          • 1970-01-01
          • 2017-11-23
          • 2011-07-10
          • 1970-01-01
          • 2013-12-26
          • 1970-01-01
          • 2016-11-25
          • 2011-06-26
          • 2017-03-04
          相关资源
          最近更新 更多