如何在图像旁边浮动段落而不环绕图像?
我想在图像旁边浮动一个段落,但不包裹图像。像这样:
div.img {
float: left;
display: block;
margin: 15px 2% 0 2%;
width: 26%; /* I cannot use that */
}
div.info {
float: right;
display: block;
margin: 15px 2% 0 2%;
width: 66%; /* The width should be variable */
}
问题是,如果我将 width 设置为 img 和 info 但图像是可变宽度/高度,我就可以做到这一点。它没有特定的宽度/高度。
在这种情况下我几乎迷失了。请向我提出任何建议。我希望两个 div 彼此相邻浮动而不包裹..而不指定框宽度。
任何解决方案..解决方法?
I want to float a paragraph next to image, but without wrapping the image. Like this:
div.img {
float: left;
display: block;
margin: 15px 2% 0 2%;
width: 26%; /* I cannot use that */
}
div.info {
float: right;
display: block;
margin: 15px 2% 0 2%;
width: 66%; /* The width should be variable */
}
The problem is that I can do it if I set width to both img and info but the image is a variable width/height. It does not have specific width/height.
I am almost lost in this situation. Please suggest to me anything.I want both divs to float next to each other without wrapping .. without specifying box width.
Any solution..workaround?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
无需 JS 即可完成此操作。请参阅我的小提琴 http://jsfiddle.net/VaSn6/5/
将图像和段落放在一边-旁白:
使用 CSS:
我的 jsfiddle 将示例扩展为清除段落和右对齐图像。
我需要像这样的 CMS 友好且营销团队友好的东西(营销人员害怕 div!)
这至少适用于 IE8。
如果您需要在文本旁边放置垂直居中的图像,则需要一些 div: http://jsfiddle.net/ VaSn6/12/ 这只会垂直居中比图像长的文本。
或者,如果您对 CSS 表没问题,我会选择 http://jsfiddle.net/sY4H8/1 /(也可以降到 IE8)。即使文本比图像低,这种方法也有效。
You can do this without JS. See my fiddle http://jsfiddle.net/VaSn6/5/
Put the image and paragraph side-by-side:
With CSS:
My jsfiddle extends the example to clearing paragraphs and right-aligned images.
I needed something like this that was CMS-friendly and marketing-team friendly (marketers are scared of divs!)
This works down to at least IE8.
If you need vertically-centered images next to text, you'll need some divs: http://jsfiddle.net/VaSn6/12/ This will only vertically center longer text than images.
Or if you're ok with CSS tables, I'd go with http://jsfiddle.net/sY4H8/1/ (also ok down to IE8). That works even if the text is less tall than the image.
这里有一些简单的 CSS 来完成这项工作。
Here is some simple CSS for doing this job.
仅浮动图像,而不浮动文本段落:
请参阅:http://jsfiddle.net/9WMzZ/
Only float the image, not the paragraph of text:
See: http://jsfiddle.net/9WMzZ/
我知道不用 JavaScript 实现这一点的唯一方法是将两个元素包装在一个容器元素中,该元素的“overflow”属性设置为“auto”,浮动图像,并将段落的“overflow”设置为“auto”,以及。
在这里查看它的工作原理: http://jsfiddle.net/leegee/vpjjB/
您还可以设置段落上的百分比宽度并将它们浮动到与图像相反的一侧,但我不确定这是否是您问题的一个很好的答案。
顺便说一句,当您渲染段落和图像时,我更改了标记以使用老式“p”和“img”的相关“语义”元素。
The only way I know to do it without JavaScript is to wrap your two elements in a container element whose 'overflow' property is set to 'auto', float the image, and set the 'overflow' of the paragraph to 'auto', as well.
See it working here: http://jsfiddle.net/leegee/vpjjB/
You could also set a percentage-width on the paragraphs and float them to the opposite side as the image, but I am not sure that is a good answer to your question.
By the way, as you are rendering paragraphs and images, I changed the mark-up to use the relevant 'semantic' elements of old-fashioned 'p' and 'img'.
你可以用一些 JavaScript 来做到这一点:
You can do it with some JavaScript: