【发布时间】:2015-07-23 05:47:42
【问题描述】:
我正在尝试在引导程序的帮助下制作一些 html 表单。我的一些输入必须与左侧或右侧没有间隙。但是引导程序 .col-XX-Y 块通过左右填充有排水沟。所以我的想法是为我的输入元素使用负边距,并显示:块。在这里我被困住了。 请参考此codepen example。我遇到了一些奇怪的事情:
为什么输入
display: block不能填满它的父级 容器,就像div一样?它仅使用以下内容填充容器:width:100%;(注释width以获取 codepen 示例中的红色边框输入)如果我应用否定
margin-left来补偿父容器的 左填充,我的输入向左移动,但保持原来的宽度(就像使用了leftcss 属性一样)。它不需要表现 像块元素(例如div):向左移动并保持 填充其父级的所有宽度,不包括右填充?当我为
input应用负右边距以补偿父级的右边距时,什么也没有发生(看我的例子,比较橙色 div 红色输入)。为什么?像块元素这样的行为呢?
如果这是正常行为,您能否给我一些指向 html 标准文档的链接以及对此的解释。
【问题讨论】:
-
你为什么不直接删除填充?
-
是的,这很简单,但我想了解这里发生了什么。
-
仔细查看应用于元素的样式。
.container和.col-md-12都在申请padding-left: 15px; padding-right: 15px;。您可能应该尝试删除这些属性,而不是尝试在子级中处理这些属性。 -
好的,你是对的,但这对我来说并不重要,我已经编辑了代码笔。主要问题是为什么带有 display:block 的输入的行为不像常规块级元素。
标签: html css twitter-bootstrap