gpt4 book ai didi

html - 删除 Bootstrap 表单中的空格

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

我开始研究 Bootstrap 以使我的表单具有响应性。我想从数据源生成它们并将每个控件放置在页面上,使用所有空间。我得到了与我想要的类似的响应式设计,但我使用的是 class="row",当 div 在同一行上具有不同高度时,它会给我一些空白。是否可以使用其他方法来删除这些内容,同时如果可能的话,保持对齐控件以删除大部分空白?

这是我用于测试的完整代码:

<html>
<head>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
</head>

<body>
<br/>
<div class="row">
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name" value="">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" name="email" placeholder="example@domain.com" value="">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="message" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" name="message"></textarea>
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="human" class="col-sm-2 control-label">2 + 3 = ?</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="human" name="human" placeholder="Your Answer">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name" value="">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" name="email" placeholder="example@domain.com" value="">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="message" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" name="message"></textarea>
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="human" class="col-sm-2 control-label">2 + 3 = ?</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="human" name="human" placeholder="Your Answer">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name" value="">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" name="email" placeholder="example@domain.com" value="">
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="message" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" name="message"></textarea>
</div>
</div>
<div class="form-group col-sm-6 col-lg-4 col-xl-3">
<label for="human" class="col-sm-2 control-label">2 + 3 = ?</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="human" name="human" placeholder="Your Answer">
</div>
</div>
</div>
</div>
</body>
</html>
  • 您可以在第一行(消息标签左侧)看到一些空白,因为消息 Div 的高度不同。
  • 您还可以在第 3 行看到这个奇怪的空白,其中一整列都是空的。当其顶部的标签有第二行时(2+3=? 其中 ? 出现在第二行)似乎会发生这种情况。如果我将窗口拖得足够大,使标签在一行上,问题就消失了。尽管如此,这种情况还是会发生,我不希望它造成问题。
  • 这个与空格无关(一个额外的问题)。我需要能够调整我的文本区域的大小,并且调整大小操作应该将其他 div 移开,而不是让它们位于当前文本区域的顶部......当我将区域拖到底部时这已经有效(向下),但不向右。

example

关于我如何解决上面列出的问题(要点),您有什么想法吗?


更新

对于上面的屏幕,我希望它显示的方式(元素的顺序可能不同)在以下屏幕中指示。如您所见,我希望事物在行中保持对齐, 减少空白。较小的元素组合在同一行的同一列中以适合空白空间,就像一行可以为特定列嵌套行一样。尽管如此,如果空间内放不下两个较小的元素,则不应将其放置在那里,因为我想保留内容行。例如,如果“姓名”和“电子邮件”不能容纳“消息”的高度,那么我应该有与以前相同的布局(仅“姓名、电子邮件、消息”,在第一行)。元素的数量和类型是可变的(取决于表格)。此外,重要的是表单对屏幕尺寸变化和垂直调整大小保持响应(现在就是这样),所以如果我减小尺寸或扩大文本区域,列数仍然需要改变并且布局相同应该用更少的列看到。

我还要补充一点,我的元素(无论是什么类型)需要像这样显示:

["centered label""input field"]

然后它们可以堆叠起来,仍然保持相同的绝对顺序(至少大部分)。重要的是我需要为这些元素分组,其中包括响应标签和输入。

enter image description here


更新2

这是代表相同问题的另一张图片。我使用了与以前相同的代码,但使用了其他一些 Controller 。我用红色箭头标记了不应出现空格的位置。这次表单项的 html 是从数据源(代表我的目标)生成的。

enter image description here

最佳答案

对于您的第一个问题,您可以使用 <div class="clearfix">在每三个表格组之间。 clearfix 将清除间距并在下一行重置。此解决方案也将帮助您解决第二个问题。如果您还希望它适用于 smxl利用不同的 .clearfix将隐藏在特定浏览器上的 div,如下所示:<div class="clearfix hidden-sm"></div> .

http://www.bootply.com/KxONBlaNXJ

关于html - 删除 Bootstrap 表单中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37838200/

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