gpt4 book ai didi

css - 简单的设计 : tight horizontal form rows in Boostrap

转载 作者:太空宇宙 更新时间:2023-11-04 07:30:06 25 4
gpt4 key购买 nike

我一点也不擅长设计,我只是想在 Bootstrap 4 中进行简单的表单对齐;我根本没有做任何定制,只是很乐意接受框架给我的任何东西。

我已经通读了表单文档,变体的数量非常困惑,到目前为止,我尝试的一切都以某种方式失败了。

我有一个包含多行的表单,每行包含三个元素:标签;一个 size=60 的文本字段(尽管我猜这可能只是一个近似值);和一个选择列表。就是这样。我不希望这些元素之间有任何额外的空间,因此使用网格系统似乎不是正确的解决方案。

我想到的最接近的是:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<div class="container-fluid">
<div class="form-group row">
<div class="col-auto col-form-label"><label for="dishes-0-dish">Dish</label></div>
<div class="col-auto">
<input class="form-control" id="dishes-0-dish" name="dishes-0-dish" size="60" type="text" value="">
</div>
<div class="col-auto">
<select id="dishes-0-type" name="dishes-0-type"><option value="13">Cheese</option><option value="6">Dessert</option><option value="3">Fish</option><option value="12">Meat</option></select>
</div>
</div>

[the above is repeated five times, with different index numbers]

<div>
<input class="btn" value="Add" name="choice" type="submit" />
</div>
</div>

但是,标签看起来太高,与文本字段的顶部对齐,并且看起来延伸得太低(如果我添加另一个类以使标 checkout 现在不同颜色的背景上)。同样,选择框也与文本域的顶部对齐,并且只占据文本域垂直空间的一半。并且“添加”按钮未与任何内容对齐。

我应该如何正确设计它?谢谢。

编辑:这在 Chrome 中对我来说是这样的

(sample image)

显示垂直对齐不佳,提交按钮未对齐。我无法真正展示我想要的东西的图像,因为我不是设计师;同样,我对一些没有任何明显缺陷的通用设计很满意,就像这个一样。

再次编辑:这具有建议的 form-control,它修复了选择和输入按钮的对齐方式(谢谢!),并且使用 col 而不是col-auto 在文本和选择字段上。但是,现在选择字段太长了。

(revised image)

如果我将 col-auto 放在选择上,那么它是一个合理的大小,但文本字段是巨大的(不是我指定的 60)。在两者上都返回 col-auto 是合理的,我可能会留在这里。

(another revised image) .

对于这两个,除了黄色背景和一些通用字体之外,我已经取消了其他 CSS;没有其他与对齐有关的东西。现在这个标签看起来很沉闷; Bootstrap 中的通用标签是否具有如此少的样式?无论如何,我认为大部分问题都解决了;感谢您的帮助!

最佳答案

如果您在标签上使用 col-auto,它将使列适合标签大小,然后如果您只有 col 用于其他两个输入,那么它们将在同一行上大小均匀。我还取消了自动应用于标签的 margin-bottom 并添加了 vertical-align:middle; 以使其与其他输入对齐。

label{
margin-bottom:0;
vertical-align:middle;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<div class="container-fluid">
<div class="form-group row">
<div class="col-auto col-form-label"><label for="dishes-0-dish">Dish</label></div>
<div class="col">
<input class="form-control" id="dishes-0-dish" name="dishes-0-dish" size="60" type="text" value="">
</div>
<div class="col">
<select id="dishes-0-type" name="dishes-0-type" class="form-control"><option value="13">Cheese</option><option value="6">Dessert</option><option value="3">Fish</option><option value="12">Meat</option></select>
</div>
</div>

[the above is repeated five times, with different index numbers]

<div>
<input class="btn" value="Add" name="choice" type="submit" />
</div>
</div>

关于css - 简单的设计 : tight horizontal form rows in Boostrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49493900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com