【问题标题】:Using padding to separate images inside a <div>使用填充分隔 <div> 内的图像
【发布时间】:2014-10-22 21:09:26
【问题描述】:

好的,所以我正在开发我的第一个响应式网站,该网站将随着视口流动并调整大小。我有页面查看我希望它如何获得更大的分辨率: http://i28.photobucket.com/albums/c250/WorldBalloonConvention/web/ScreenShot2014-08-28at41624PM_zps9c2e2e11.png

它基本上都在一个 div 内部,图像右对齐并通过文本放置在不同的位置。我想这样做是因为使用 div 元素创建两列意味着当我将页面大小调整为移动大小时,图片会变得很小并停留在其他文本旁边的列中,而不是仅仅被强制在文本下方并保持它们的大小更大.该页面在当前使用此设置的移动分辨率下看起来不错。

所以这两个看起来都是我想要的,但是我的 iPad 断点导致图像相互碰撞,并且用于将它们分开的填充迫使中心图像向左移动,因为它撞到了顶部图像填充,如图所示在这张图片中: http://i28.photobucket.com/albums/c250/WorldBalloonConvention/web/ScreenShot2014-08-28at41656PM_zps63322273.png

有没有更好的方法来分隔图像以使其看起来像我想要的那样,但不会导致它们在调整视口大小时相互碰撞?目前这是图像填充:

.padimg {
padding-left:1%;
padding-top:4%;
padding-bottom:1%;
}

感谢您的宝贵时间,我已经习惯了只需要为桌面创建一个好的视口,因此我不得不重新学习如何创建响应式布局。

【问题讨论】:

  • 我在我的响应式设计实现中每天使用我的答案中描述的格式。但我不在生产代码中使用内联 CSS。
  • 您还没有回复,提供的答案是否有助于您解决问题?使用我在下面描述的解决方案无论您在外部 div 上放置什么基于百分比的宽度,图像格式都不会像您的示例那样中断。
  • 是的,很抱歉,它可以很好地满足我的需要,并解决了主要问题,即使它不允许它们在整个文本的不同位置堆叠。
  • 嗨@srafik,根据您的评论,我更新了小提琴以反映在各个地方堆叠的请求,我之前没有将其作为要求:updated demo

标签: html css responsive-design padding viewport


【解决方案1】:

如果您不提供任何代码,这很困难,但这是完成您所要求的工作的可靠方法 (Fiddle demo):

HTML:

<div>
<div style="float:right;">
    <ul style="display:block;">
        <li>one one one</li>
        <li>two two two</li>
        <li>three three</li>
    </ul>
</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

CSS:

li {
    list-style-type: none;
    width:100px;
    border: 1px solid red;
    margin: 10px;
}


**编辑**

我更新了演示以展示如何使用上述代码分散浮动元素:updated demo

【讨论】:

  • 虽然这不是我想要的(将所有三个图像放在同一个 div 中意味着所有三个图像都堆叠在一起,而不是在视口缩小时堆叠在整个文本的各个位置)但是它是这个特定实例最有效的解决方案,因为它确实实现了其他所有功能,我可以处理所有三个图像在调整大小时仅位于文本上方而不是堆叠在不同的位置(我已经实现了另一种方式但是一直遇到填充问题)
猜你喜欢
  • 2013-05-31
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
相关资源
最近更新 更多