- 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"
我有六个固定大小的内联元素,我想将它们包装起来,以便每行具有相同数量的元素。因此,对于宽容器,将有 1 行和 6 列/元素。随着容器缩小,它将变为 2x3,然后是 3x2,最后是 1x6。
我的直觉是我应该使用 flexbox,但我不知道如何阻止它一次包装一个元素,给我的情况是第一行有 5 个元素,第二行有 1 个元素。
.box {
display: flex;
flex-wrap: wrap;
}
.box div {
background-color: yellow;
width: 50px;
height: 50px;
margin: 5px;
}
<div class="box">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
<div>Six</div>
</div>
最佳答案
因为您的元素是固定大小的,所以让它们成对包装或更大的倍数有点棘手。
让多个元素包装起来的简单方法是以百分比设置它们的长度。然后,使用媒体查询,可以通过调整百分比来控制每行的元素数。
在一个布局中,假设有六个元素(比如您的布局),桌面 View 的宽度可以设置为 16%。
[ 16% ] [ 16% ] [ 16% ] [ 16% ] [ 16% ] [ 16% ]
然后,对于笔记本电脑 View ,可以启动媒体查询,将宽度更改为 33%:
[ 33% ] [ 33% ] [ 33% ]
[ 33% ] [ 33% ] [ 33% ]
平板电脑 View 的相同想法:
[ 50% ] [ 50% ]
[ 50% ] [ 50% ]
[ 50% ] [ 50% ]
同样适用于移动 View :
[ 100% ]
[ 100% ]
[ 100% ]
[ 100% ]
[ 100% ]
[ 100% ]
这是一个例子:
.box {
display: flex;
flex-wrap: wrap;
}
.box div {
flex: 1 0 15%;
height: 50px;
margin: 5px;
background-color: yellow;
border: 1px solid gray;
}
@media ( max-width: 800px) {
.box div {
flex-basis: 30%;
}
}
@media ( max-width: 600px) {
.box div {
flex-basis: 40%;
}
}
@media ( max-width: 400px) {
.box div {
flex-basis: 100%;
margin: 0 0 5px 0;
}
}
* {
box-sizing: border-box;
}
<div class="box">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
<div>Six</div>
</div>
当然,与您的问题相关的上述演示的问题是元素没有固定宽度。作为百分比,它们是灵活的。
那么让我们尝试相反的方法:调整容器的大小而不是调整元素的大小。通过缩小容器(使用媒体查询),我们可以控制包装行为并保持每个元素的固定宽度大小:
.box {
display: flex;
flex-wrap: wrap;
width: 360px;
background-color: lightgreen;
}
.box div {
flex: 0 0 50px;
height: 50px;
margin: 5px;
background-color: yellow;
border: 1px solid gray;
}
@media ( max-width: 800px) {
.box {
width: 180px;
}
}
@media ( max-width: 600px) {
.box {
width: 120px;
}
}
@media ( max-width: 400px) {
.box {
width: 60px;
}
}
* {
box-sizing: border-box;
}
<div class="box">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
<div>Six</div>
</div>
因此,如果您可以在元素上使用灵活的长度,或者缩小容器的宽度,那么您的问题就解决了。但是,如果两者都不是一个选项,那么这里有一个使用 CSS 网格布局的干净简单的解决方案。
.box {
display: grid;
grid-template-columns: repeat(6, 50px);
grid-auto-rows: 50px;
grid-gap: 5px;
}
@media ( max-width: 800px) {
.box {
grid-template-columns: repeat(3, 50px);
}
}
@media ( max-width: 600px) {
.box {
grid-template-columns: 50px 50px;
}
}
@media ( max-width: 400px) {
.box {
grid-template-columns: 50px;
}
}
.box div {
background-color: yellow;
border: 1px solid gray;
}
* {
box-sizing: border-box;
}
<div class="box">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
<div>Six</div>
</div>
关于css - 使元素成组包装,而不是一个接一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50310201/
我正在尝试读取和处理一个大的 json 文件(~16G),但即使我通过指定 chunksize=500 读取小块,它仍然有内存错误。我的代码: i=0 header = True for chunk
请看下图... 我想通过 CSS 实现。 我现在将此分隔符用作在我的容器内响应的图像 ( jpg )。问题是我似乎无法准确匹配颜色或使白色晶莹剔透。 我认为 CSS 是解决这个问题的最佳方式。 尺寸为
所以我正在尝试使用 AngularJS 和 Node.js。我正在尝试设置客户端路由,但遇到一些问题。 编辑 所以我改变了一些代码如下 https://github.com/scotch-io/sta
我想创建如下图所示的边框: 这段代码是我写的 Some Text p{ -webkit-transform: perspective(158px) rotateX(338deg); -webk
好的,所以我有一个包含 2 个选项的选择表 $builder->add('type', 'choice', array( 'label' => 'User type', 'choice
我的代码: private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { ngr.
我正在尝试编写 Tic-Tac-Toe 游戏代码,但不知道如何在轮到我时push_back '+' 字符。 因此,每当玩家输入例如“Oben 链接”时,这基本上意味着左上角,我希望游戏检查输入是否正确
我正在研究 HtmlHelper.AnonymousObjectToHtmlAttributes。 它适用于匿名对象: var test = new {@class = "aaa", placehol
在 stackoverflow 上所有这些 mod 重写主题之后,我仍然没有找到我的问题的答案。我有一个顶级站点,基本上我想做的就是将 /index.php?method=in&cat=Half+Li
仅使用 CSS 可以实现此功能区吗? 最佳答案 .box { width: 300px; height: 300px; background-color: #a0a0a0;
我有一个 jbuilder 模板,它用 json 表示我的一个模型,如下所示: json.(model, :id, :field1, :field2, :url) 如果我只是从控制台访问该字段,则 u
昨天我问了一个问题 - Draw arrow according to path 在那个问题中,我解释说我想在 onTouchEvent 的方向上绘制一个箭头。我在评论中得到了答案,说我应该旋转 Ca
我希望段落中的代码与代码块中显示的代码一致。 例如: The formula method for a linear model is lm(y~x, data = dat). For our da
我使用 ViewPager 获得了一个选项卡菜单。每个选项卡都包含来自 android.support.v4 包的 fragment (与旧 SDK 的兼容性)。其中一个 fragment 是 Web
我正在从事一项需要多种程序能力的科学项目。在四处寻找可用的工具后,我决定使用 Boost 库,它为我提供了 C++ 标准库不提供的所需功能,例如日期/时间管理等。 我的项目是一组命令行,用于处理来自旧
外媒 Windows Latest 报道,随着 Windows 10 的不断发展,某些功能会随着新功能的更新而被抛弃或成为可选项。早在 2018 年,微软就确认截图工具将消失,现代的 “截图和草图”
我有标记的 Angular ,我只希望标记旋转到那个 Angular 。 marker = new google.maps.Marker({ position: myL
我一定是遗漏了什么,但我不知道是什么。我有使用 polymer 实现的简单自定义元素: TECK ..
我有一个关于如何设置我们产品的分步教程。我必须在每个步骤中显示大量示例代码。以下是我必须在页面中显示的代码类型列表。我用什么来格式化所有内容? Java 代码示例 XML 样本 iOS SDK 文件(
我需要在我的 iPad 应用程序中绘制一些图表,所以我遵循了本教程: http://recycled-parts.blogspot.com/2011/07/setting-up-coreplot-in
我是一名优秀的程序员,十分优秀!