- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
是否可以在宽度可变的 div 中均匀分布多个元素。
这是 not working example .如果我们使用 text-align:center;元素将居中,但 margin:0 auto;不管用。我想完成类似 justify+center 的事情:
|..<elem>..<elem>..<elem>..<elem>..| // for one container width
|..<elem>..<elem>..<elem>..| // for smaller container width
|....<elem>....<elem>....| // even smaller container
容器将由用户调整大小。一张图片抵得上 1000 个字:
容器(红框)宽度:100%;因此用户可以调整它的大小(浏览器窗口、js 等)。
<--> 代表偶数空格。第二行 <--> 更大,因为有更多空间。我能够伪造它:
text-align:center;
word-spacing:3em; // but any fixed value looses proportion
最佳答案
我最近读到一个非常聪明的技术来完全按照你的要求去做。
简而言之,您只需在容器元素上使用 text-align:justify;
并在末尾添加一个额外的不可见 block 即可实现此目的。
这是有效的,因为 inline-block
元素被视为文本内容的一部分,每个元素实际上都是一个单词。
使用 justify
将展开文本中的单词,以便它们填充元素的整个宽度,并在单词之间留出额外的空间。对于 inline-block
元素,这意味着它们之间的间隔是均匀的。
我在最后提到了一个额外的隐形 block 。这是必需的,因为普通的 text-align:justify
不会对齐最后一行文本。对于普通文本,这正是您想要的,但是对于对齐 inline-block
框,您希望它们全部对齐。
解决方案是在 inline-block
元素列表的末尾添加一个额外的不可见但 100% 宽度的元素。这实际上将成为文本的最后一行,因此 justify
技术将适用于您的其余 block 。
您可以使用 :after
伪选择器来创建不可见元素,而无需修改您的标记。
这是您的 jsFiddle 的更新版本,用于演示:http://jsfiddle.net/ULQwf/298/
这是对其进行更详细解释的原始文章:http://www.barrelny.com/blog/text-align-justify-and-rwd/
[编辑]看到您添加到问题中的图像后的最后一次更新。 (我没有更好的答案,但有一些额外的想法可能有用)。
理想情况下,您在这里需要的是一个 :last-line
选择器。然后你可以 text-align:justify
主要文本和 text-align:center
最后一行。那会做你想要的。
遗憾的是,:last-line
不是一个有效的选择器(:first-line
是,但 :last-line
不是) ,所以这就是那个想法的结尾。
一个稍微更有希望的想法是 text-align-last
,它确实作为一个特性存在。这可以完全满足您的需求:
text-align:justify;
text-align-last:center;
完美。
除了它是非标准的并且浏览器支持非常有限。
您可以 read about here on MDN .
我想作为最后的手段,如果您只能接受部分浏览器支持,它可能是您的一个选择。对于您的一些用户,它至少会得到您想要的。但这并不是真正明智的做法。
但我的直觉是,这与您将要达到的一样接近。诱人地接近你想要的东西,但还不够。我希望我被证明是错的,但我会感到惊讶。太糟糕了,因为我想做这件事似乎是完全合乎逻辑的。
关于html - 如何均匀间隔许多内联 block 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16964294/
我需要在半径R的圆内生成一个均匀随机点。 我意识到,通过在区间 [0 ... 2π) 中选择均匀随机的角度,并在区间 (0 ... R) 中选择均匀随机的半径,我最终会得到更多的点朝向中心,因为对于两
我想在一个正方形内生成 N 个点(均匀地)。我怎样才能做到这一点? 最佳答案 非常酷的问题,比我想象的要困难得多,但这就是想法。有关于 n 边形的论文,但我只会做正方形。因此,圆的均匀分布是一个常见问
考虑以下示例: import itertools import numpy as np a = np.arange(0,5) b = np.arange(0,3) c = np.arange(0,7)
SQL Server 将一组值分成 5 组,每组的 sum(count) 应该均匀分布。 表仅包含 2 列 rid 和 count。 create table t1(rid int, count in
我有以下简单的 HTML。 A B C 和 CSS: ul { width: 100%; display: flex; flex-direction:
我是一名优秀的程序员,十分优秀!