如何为所有 div 的每一侧提供相同的空间

2024-02-03

您好,我有一个关于布局的问题。

我有一个网站,我在 div 中填充信息。这些 Div 需要彼此相邻,它们之间以及容器 div 两侧之间的空间大小相同。我正在为手机制作它,所以我不知道屏幕的宽度,它应该在所有不同的屏幕分辨率上看起来都很好。

目前我有这个: 小提琴:Fiddle http://jsfiddle.net/hgwd92/vgqNX/

HTML:

<div id="container">
<div id="lineout">
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
<div id="foto"><img src="img/logo_null_image.jpg" /></div>
</div>

CSS:

#container {
    text-align: center;
    display: inline-block;
    margin:0 auto;
}
#foto{
    width: 150px;
    height: 150px;
    display: inline-block;  
}

#lineout {
    text-align:justify; 
}

然后它们之间的空间相等,但容器两侧之间的空间不相等。

我不知道会有多少个 div,但我所知道的是它们的大小为 150px x 150px。它们和容器之间应该有相同的边距,并且显示器的尺寸是多少并不重要。如果屏幕较小,则彼此相邻的 div 应该较少,但它们之间的空间应该增加或减少。所以它们和容器div之间的边距是相同的。

这是我想要的图像:)s7.postimage.org/h342d0qhn/layout2.png http://s7.postimage.org/h342d0qhn/layout2.png

重新表述我的问题:

<div class="content">
<div class="elements-grid">
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
</div>
</div>

我需要“元素”div 之间的灵活/折叠边距。间隙应取决于浏览器宽度,并在折叠之前具有“最大宽度”和“最小宽度”(以下元素切换到下一行)。 “元素网格”需要位于“内容”的中心。

我真的很感谢你的帮助,因为我已经尝试了我所知道的一切。提前致谢!


如果你想做到这一点,你需要 javascript 的一些帮助。

这个想法是获取窗口的宽度,而不是将其分布在元素之间。

你可以在这里找到我的小提琴:http://jsfiddle.net/P84qd/ http://jsfiddle.net/P84qd/

在html文件中,我只是通过类名更改了你的id(你不应该在html文件中两次使用相同的id) 在 css 文件中,我刚刚将正方形定义为float:left.

最后是 JavaScript:

function resize(){
    var sizeOfImg = 150;
    var windowWith = document.body.offsetWidth;
    var widthRest = windowWith%sizeOfImg;
    var marginVal = widthRest/(Math.floor(windowWith/sizeOfImg)+1);
    var lineout = document.getElementById('lineout');
    lineout.style.paddingLeft = marginVal+'px';
    lineout.style.paddingTop = marginVal+'px';
    var fotos = document.getElementsByTagName('div');
    for(var i=0, length = fotos.length;i<length; i++){
        if(fotos[i].className === 'foto'){
            fotos[i].style.marginRight = marginVal+'px'; 
            fotos[i].style.marginBottom = marginVal+'px';        
        }       
    }
}
resize();
window.onresize = function(e){resize();};  

它可能不是很优化,但这是想法; 您首先获得文档的宽度,然后在放置所有方块(即模数)后计算剩余的空间。为了计算最终的边距大小,您需要将其余部分除以每行的方块数加一(因为您希望左右边框也符合您的样式)。 然后,只需在需要的地方添加一些填充/边距,就完成了。

为了使其在调整窗口大小时起作用,您需要调用window.onresize

希望能帮助到你 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为所有 div 的每一侧提供相同的空间 的相关文章

  • jquery覆盖加载栏div

    所以我有一个数据表 并且我正在使用 ajax 获取数据 当检索数据时 表中的数据消失并出现一个小的加载圆圈 我希望数据保留 我知道如何做到这一点 并且加载圆圈出现在表格的中心 不一定是垂直的 至少是水平的 以及稍微透明的背景阻挡稍微超出表格
  • 将单选按钮放置在图像上

    我试图在图像上的确切位置放置一些单选按钮 我已将两者都放在 Div 中 但我不知道下一步该怎么做 这是我想要放置单选按钮的位置 红色圆圈 到目前为止 这是我的代码 center display block margin left auto
  • 设置overflow-y可见,而overflow-x为auto,以便内容可以垂直溢出父容器

    我在用着position absolute and position relative如果将其父级悬停在图像上 则在图像上显示文本 文本和图像父 div 所在的容器设置为overflow x auto 使其具有水平滚动条 我想要看起来垂直溢
  • 单击按钮重复动画

    我想每次单击按钮时都重复动画 我尝试做某事像这样 https jsfiddle net 91raod7e const dist document querySelector dist document querySelector butto
  • 在导航栏下方添加背景图片

    我想在导航栏下方添加背景图像 具有完整窗口大小的宽度 它不应覆盖整个页面长度 而是从导航栏菜单下方开始 一直向下直到特定的指定高度 但宽度是满的 我参考了以下内容 但仍然没有结果 在 Twitter Bootstrap 中的导航栏下方启动背
  • React JS - 单击时更改颜色并将默认颜色放在所有其他颜色上

    我有 x 个渲染数文章预览依赖于 API 调用的组件 div div Object keys images map index i gt return div div
  • CSS - SASS:使用基于@each的mixins来生成多个背景

    我正在使用 CSS 创建发型和颜色目录 我有 55 种不同颜色和发型的组合 每种发型和颜色都有自己的图像 SVG 文件 我需要将它们全部组合成一个背景 使用 CSS3 的多背景功能 我编写了这个混合来生成多个背景 它基于 mixin在这篇文
  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 使用本机 JavaScript 获取过渡中的 CSS 值

    这个问题之前被问过 但答案使用了 jQuery here https stackoverflow com q 8920934 3186555 因此 我将调整问题以专门询问native解决方案 to 最小化依赖关系 假设您有一个 div 然后
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • 删除

    好的 我有一个小菜单栏 菜单内的三个元素还有更多的子菜单 但是菜单栏中的元素之间有不必要的间距 而且我创建的子菜单有不必要的背景宽度 我在代码中将其涂成白色以使读者理解 由于这种不必要的宽度 即使鼠标悬停在不可见的宽度上 在本例中为白色 本
  • javascript:window.print() 打印 2 页,而我有 1 页

    我有一个简单的 HTML 文档 其中仅包含图像标签 我想在文档加载后打印图像 我的代码 img src form1 jpg alt form1 style margin 0 auto display block 它可以工作 但问题是它打印图
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • 使用 python 在一个 html 页面中显示分割数据框的 HTML 代码

    我是 html css 新手 所以对以 html 格式显示的数据有疑问 我有一个很长的列表 我想将其拆分并以 html 格式显示为两个单独的列 例如 而不是 Col1 Col2 1 a 2 a 3 a 4 a 5 b 6 b 7 b 8 b
  • 将鼠标悬停在原点时会触发translateY()

    当您将光标移动到按钮底部时 是否可以无限期地不触发动画 它看起来是这样的 gif https i stack imgur com QwdHW gif and codepen https codepen io jaeyson pen GwwJ
  • Sass:@use 出错,未定义变量

    我正在使用 Sass 并且想要使用 use关键字而不是 import 因为 import有很多问题 另外只有dart sass支持这个功能 我将node sass改为dart sass 然而 问题出现了 我原来的代码 import carb
  • CSS 到底如何计算相对尺寸

    我想更好地理解某些 CSS 行为 这与具体问题无关 我只是在调试网站时遇到的 让我们在固定位置的 div 中放置一个全宽图像 div img style width 100 src https via placeholder com 150
  • 使用 CSS 折叠和展开元素

    我正在尝试构建一个页面 加载时仅可见标题 并且 当用户单击标题时 每个标题下方的表格会在隐藏和显示状态之间切换 我的限制是只能在 CSS 中执行此操作 这是我到目前为止想到的 https jsfiddle net Argoron c1ypx
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说
  • css3按钮背景颜色无限过渡

    有没有办法仅使用 css3 使按钮的背景颜色从灰色渐变为蓝色 然后又回到灰色 一个很好的例子是默认操作按钮是可可 我知道这可以在 javascript 中完成 但我宁愿只使用 css 来完成此操作 您好 我已经通过 CSS3 动画制作了按钮

随机推荐

  • Haskell Random 无法构造无限类型:a1 = IO a1

    我想用 Haskell 生成一个包含 26 个随机整数的列表 其总和为 301 我写下以下内容 import System Random f 1 sum sum f n sum m f n 1 sum m where m randomRIO
  • Bash 忽略特定命令的错误

    我正在使用以下选项 set o pipefail set e 在 bash 脚本中出现错误时停止执行 我有大约 100 行脚本正在执行 我不想检查脚本中每一行的返回代码 但对于一个特定的命令 我想忽略该错误 我怎样才能做到这一点 解决方案
  • 在 iPhone 邮件应用程序上绘制蓝色“未读点”

    有谁有如何绘制苹果邮件应用程序中使用的蓝色 未读点 的示例吗 这个具体来说 使用 Quartz2d 绘制椭圆很简单 但阴影 渐变的巧妙使用使这看起来真正的 3D 我认为邮件中的蓝点实际上是一个图像 我认为位图传送图像会比绘制渐变更快
  • 并行处理批次项目

    我有一个 ItemGroup 并且想要并行处理其所有项目 使用自定义任务或 exe 我可以编写我的任务 exe 来接受整个 ItemGroup 并在内部并行处理其项目 但是 我希望这种并行性能够与 MSBuild 结合使用 maxCpuCo
  • Selenium 缓慢向下滚动

    我正在尝试使用 Python 在 javascript 渲染的网页上进行动态网页抓取 1 但是 只有当我缓慢向下滚动页面时 才会加载元素 我努力了 driver execute script window scrollTo 0 Y 这不起作
  • 如何对 numberDisplay 的所有值求和,不包括类别

    我有一组数据 我想默认将过滤器应用到 numberDisplay 数据是这样的 data category A value 10 category B value 10 category C value 10 category S valu
  • 检查 linq 中的字符串是否为 null 或为空

    我有一个带有空格的字符串 string MyNote Convert ToString Session MyNote if MyNote null MyNote 如果字符串有更多空间 MyNote 不起作用 所以 如何在 C 中使用 lin
  • 从非模板参数化方法返回模板类型

    为了定义模板类 我考虑了三个不同的文件 该声明位于 h文件中 方法实现位于 cpp文件 并且显式实例化包含在 inc文件 通过在 cpp 末尾添加一行 例如 include bar impl inc 现在 这是我的问题 我有两个模板类 例如
  • ActiveMQ从java中删除队列

    如何从java程序中删除activemq中的队列 有类似 session delelteQueue 的东西吗 谢谢M 简单的解决方案 不使用 JMX 将连接转换为 ActiveMQConnection 并使用其 destroyDestina
  • 寻求报告服务认证建议

    我被分配负责修订当前的报告服务验证流程 目的是保持必要的安全级别 并简化授予对各个报告的访问权限的维护 配置 我无权访问域控制器来修改或创建新的 AD 组 我必须与当前存在的组 用户合作 在身份验证方面 我似乎可以选择使用以下任一方法 Wi
  • -Webkit滚动条+溢出+JQuery滚动顶部始终返回零

    我一整天都在研究这个错误 但无法解决它 有一个 JQuery scrollTop 动画脚本 它检测 window scrollTop 值并执行一些动画 如果单击按钮滚动回顶部 this click 函数 html body animate
  • C 中的守护进程 - 有没有一种方法可以实现它们?

    我有一个关于 C 中守护进程的一般性问题 但到目前为止我还没有看到答案 有没有一种方法可以实现对守护进程的控制 例如约定或标准 休息是进一步的解释 我看过多个文档 教授如何在 C 中创建守护进程的基础知识 分叉 关闭文件描述符 更改根目录等
  • 下载文件存储位置和处理使用selenium webdriver和JAVA下载弹出窗口

    请提出一个想法 并进行以下几点实施 1 how to handle the Download popup in IE with Selenium Webdriver with JAVA 2 如何使用JAVA将该xml文件存储在不同的位置 注
  • “响应?”与“响应缺失?”

    定义的意义何在respond to missing 而不是定义respond to 如果重新定义会出现什么问题respond to 某堂课 Without respond to missing http ruby doc org core
  • bash - 导出不起作用

    我错过了一些非常基本的东西 在 Mac OS X 下 我尝试过 chmod 0777 setdir bsh 一定是我的设置有问题 bin bash export proj Users RParadox projects testprojec
  • JButton 文本的抗锯齿

    我在用着字体真棒 http fortawesome github io Font Awesome icon arrow circle left 在 JButton 中创建可单击的图标 但是当尺寸较小时 生成的图标会出现别名 只是作为一点背景
  • 架构 x86_64 的 1 个重复符号

    我不确定我做错了什么 我将项目文件夹移动到另一个文件夹 并将备份文件夹复制到桌面 我尝试打开备份项目并构建 但收到链接器错误 因此 我决定删除备份文件夹并将项目文件夹移回桌面 我无法再编译并收到以下错误 Showing Recent Iss
  • 生成图像的 Base64 字符串以在数据 URI 中使用

    如何生成图像的 Base64 字符串以在数据 URI 中使用 我有一个 Base64 图像编码问题 希望有人可以帮助解决 我正在尝试在我的网页中使用数据 uri 即 img src with org apache commons codec
  • 滞后函数获取最后一个不同的值(redshift)

    我有如下示例数据 想要获得所需的 O P 请帮我一些想法 我希望第 3 4 行的 prev diff value 的 o p 为2015 01 01 00 00 00代替2015 01 02 00 00 00 with dat as sel
  • 如何为所有 div 的每一侧提供相同的空间

    您好 我有一个关于布局的问题 我有一个网站 我在 div 中填充信息 这些 Div 需要彼此相邻 它们之间以及容器 div 两侧之间的空间大小相同 我正在为手机制作它 所以我不知道屏幕的宽度 它应该在所有不同的屏幕分辨率上看起来都很好 目前