【问题标题】:Positioning small image on left of text?将小图像定位在文本左侧?
【发布时间】:2011-03-17 19:44:08
【问题描述】:

如果我这样做:

<img src="" style="float:left"> SOME TEXT BLA BLA BLA BLA

它不起作用,因为当图像高度停止时,文本会下降到图像。我的意思是:

它会这样做:

http://img8.imageshack.us/img8/9379/senzatitolo1yt.jpg

而我想要得到的是:

http://img28.imageshack.us/img28/606/senzatitolo2rd.jpg

我可以使用旧的好表 (&lt;td&gt;img&lt;/td&gt;&lt;td&gt;text&lt;/td&gt;),但在 2011 年,这似乎不是可行的方法:)

有什么简单的跨浏览器技巧可以做到这一点?

编辑:我不知道图像宽度

谢谢!

【问题讨论】:

    标签: html css css-float


    【解决方案1】:

    使用两个 div 标签,将它们都向左浮动。将其中一个宽度设为 30%,将另一个宽度设为 70%。把图片放在第一个,文本放在第二个。

    【讨论】:

      【解决方案2】:

      鉴于简单的 html:

      <img src="path/to/img.png" />
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dui odio, luctus ut viverra vitae, dignissim a mauris. Vestibulum vel massa at sapien tincidunt venenatis id sed purus. Ut quam libero, mollis a ullamcorper sed, gravida id ligula. Sed nec augue enim. Phasellus accumsan aliquet erat interdum ullamcorper. Cras tellus libero, tincidunt non placerat interdum, venenatis id arcu. Nulla facilisi. Maecenas malesuada vestibulum venenatis. Nam vel tellus arcu. Sed non dui urna. Proin fermentum aliquet lectus non fermentum. Donec aliquet purus et tortor lobortis gravida. Duis vehicula ligula nec enim consequat ut tempor diam molestie. Aenean egestas eros sem. Phasellus ullamcorper pretium nunc molestie luctus. Mauris semper ultricies nulla, at tempus purus eleifend vel. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas ac est nunc.</p>
      

      以下 CSS 有效:

      p {
          margin-left: 100px; /* width of image plus some padding for white-space */
      }
      
      img {
          float: left;
          width: 90px;
          height: 90px;
      }
      

      JS Fiddle demo.


      令人惊讶的是,尽管仅在 Chromium 8/Ubuntu 10.10 上测试过,但以下工作:

      img {
          width: 100px;
          height: 100px;
          background-color: #f90;
          float: left;
          margin: 0 10px 100% 0;
      }
      

      JS Fiddle demo(忽略颜色,它们只是让我可以看到东西所在的位置)。

      Second (post-edit) JS Fiddle demo, featuring an img with non-specified dimensions.

      【讨论】:

      • 很好的解决方案。但是:如果我们不知道图像宽度怎么办? (就像我的情况一样:(
      • @yes123:如果您不知道图像宽度,那么它会变得更复杂...,但我会看看我能做什么。 :)
      • 它甚至可以在 IE 上运行,就是这样!它比桌子更简单。恭喜.. margin-bottom:100% 是天才的闪光。我正在使用诸如 margin-bottom:30px 之类的东西(对于我的文字来说已经足够了……但没想到 100% xD)
      • @yes123,这让我害怕这是多么简单,让我感到惊讶的是它有效。我以前从未遇到过解决方案(尽管我不相信我是下一个 Eric Meyer,无论如何想像力),并且出于好奇而不是期望它起作用而尝试它。但是感谢您的接受,我从现在开始自己使用它:D
      • @David Thomas - 它甚至可以在 IE 5.5 中运行,呵呵。太不可思议了:)
      【解决方案3】:

      有多种方法可以实现这一点。

      1) 两个 div。分配给两个宽度。将 image-div 浮动到左侧,将 text-div 浮动到右侧。

      2) 使用边距!

      试一试,然后给我反馈。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-27
        • 2016-07-11
        • 1970-01-01
        • 2013-11-13
        • 2014-03-05
        • 2021-08-29
        • 2021-09-12
        相关资源
        最近更新 更多