Html 使div子对象共享父对象宽度
基本上,我得到了一个由1+div子元素组成的div父元素(每个子元素中都有一个按钮)。 现在我想让按钮填满父对象的整个宽度,但要共享它。 也就是说,如果有一个子按钮,它应该填充100%——如果有两个,它们的宽度应该是每个大小的50%,等等 我该怎么做 编辑:按要求-代码如下(尽管我认为上面的解释更好): html:Html 使div子对象共享父对象宽度,html,css,Html,Css,基本上,我得到了一个由1+div子元素组成的div父元素(每个子元素中都有一个按钮)。 现在我想让按钮填满父对象的整个宽度,但要共享它。 也就是说,如果有一个子按钮,它应该填充100%——如果有两个,它们的宽度应该是每个大小的50%,等等 我该怎么做 编辑:按要求-代码如下(尽管我认为上面的解释更好): html: <div class="buttons"> <input class="submitbutton" type="submit" value="Registe
<div class="buttons">
<input class="submitbutton" type="submit" value="Register">
<input class="submitbutton" type="submit" value="Cancel">
</div>
您可以将子元素宽度定义为百分比或其父元素宽度。大概是这样的:
<div id="parent" style="width:1000px;">
<div id="child1" style="width:25%"></div>
<div id="child2" style="width:25%"></div>
<div id="child3" style="width:25%"></div>
<div id="child4" style="width:25%"></div>
</div>
在这种情况下,每个子元素的宽度将为250px
根据您的要求,以下是使用CSS类的相同内容:
<style type="text/css">
.parent {
width:1000px;
}
.child {
width:25%;
}
</style>
<div id="parent" class="parent">
<div id="child1" class="child"></div>
<div id="child2" class="child"></div>
<div id="child3" class="child"></div>
<div id="child4" class="child"></div>
</div>
.家长{
宽度:1000px;
}
.孩子{
宽度:25%;
}
您可以将子元素宽度定义为百分比或其父元素宽度。大概是这样的:
<div id="parent" style="width:1000px;">
<div id="child1" style="width:25%"></div>
<div id="child2" style="width:25%"></div>
<div id="child3" style="width:25%"></div>
<div id="child4" style="width:25%"></div>
</div>
在这种情况下,每个子元素的宽度将为250px
根据您的要求,以下是使用CSS类的相同内容:
<style type="text/css">
.parent {
width:1000px;
}
.child {
width:25%;
}
</style>
<div id="parent" class="parent">
<div id="child1" class="child"></div>
<div id="child2" class="child"></div>
<div id="child3" class="child"></div>
<div id="child4" class="child"></div>
</div>
.家长{
宽度:1000px;
}
.孩子{
宽度:25%;
}
如果您不确定将有多少个ChildButton,您可以为您的孩子使用一些故障保护类
e、 差不多
.grid4button { width: 25%; }
.grid3button { width: 33.33333% }
.grid2button { width: 50%; }
等等(我想你明白了)
现在需要一些js来检查ChildButton的数量,并将所需的类名附加到每个按钮上
编辑:
var childs = $(".buttons").children().length;
$('buttons .submitbutton').addClass('grid'+childs+'button');
可以是jquery的一个示例js检查。如果您不确定将有多少个ChildButton,您可以为您的孩子使用一些故障保护类 e、 差不多
.grid4button { width: 25%; }
.grid3button { width: 33.33333% }
.grid2button { width: 50%; }
等等(我想你明白了)
现在需要一些js来检查ChildButton的数量,并将所需的类名附加到每个按钮上
编辑:
var childs = $(".buttons").children().length;
$('buttons .submitbutton').addClass('grid'+childs+'button');
可能是jquery的一个示例js检查。正如表是dépassé一样,我只会使用一个带有一行()的表,并为每个按钮动态添加单元格()。给出宽度:100%,你就完成了。大多数实现工具栏类的js框架都使用表。正如表是dépassé一样,我只使用一个带有一行()的表,并为每个按钮动态添加单元格()。给出宽度:100%,你就完成了。大多数实现工具栏类的js框架都使用表。如果您希望避免使用纯CSS添加额外的标记,那么Flexbox就是您想要的 大多数浏览器支持Flexbox的某些版本,但IE直到版本10才支持它(请参阅:)。请注意,虽然旧的Webkit浏览器(包括移动设备)确实支持Flexbox,但它支持Flexbox,这就是为什么我省略了这些浏览器的属性 如果需要更好的浏览器支持,则需要使用额外的元素
如果您希望避免使用纯CSS添加额外的标记,那么Flexbox就是您想要的 大多数浏览器支持Flexbox的某些版本,但IE直到版本10才支持它(请参阅:)。请注意,虽然旧的Webkit浏览器(包括移动设备)确实支持Flexbox,但它支持Flexbox,这就是为什么我省略了这些浏览器的属性 如果需要更好的浏览器支持,则需要使用额外的元素
您可以将它们括在li中并使用以下css:
.buttons > li {
display: table-cell !important;
width: 1% !important;
float: none !important;
}
.buttons > li >* {
width:100%
}
看
您可以将它们封装在li中并使用此css:
.buttons > li {
display: table-cell !important;
width: 1% !important;
float: none !important;
}
.buttons > li >* {
width:100%
}
看
请发布一些代码。父div是否有一个设置的宽度?@j08691我已经用该代码进行了更新。这需要某种计算和条件逻辑,因此您需要javascript;如果这是静态html/CSS,而javascript不是一个选项,那么你就不能按照你的建议去做。如果您使用的是像php这样的预处理器,那么您可以输出一些内联样式来完成您想要的任务。如果可以使用JS,则可以在加载元素后调整样式。没有这一点,我认为没有办法。虽然我很感兴趣,但我希望有人能给出一个答案。请发布一些代码。父div是否有一个设置的宽度?@j08691我已经用代码更新了这需要某种计算和条件逻辑,所以你需要javascript来实现这一点;如果这是静态html/CSS,而javascript不是一个选项,那么你就不能按照你的建议去做。如果您使用的是像php这样的预处理器,那么您可以输出一些内联样式来完成您想要的任务。如果可以使用JS,则可以在加载元素后调整样式。没有这一点,我认为没有办法。我希望有人能想出一个答案,虽然我会非常感兴趣。我明白了-但是我想在css中定义它,并让它知道如何自动定义宽度。为您更新代码。这两个例子提供了相同的最终结果。顺便说一句,使用
style=“width:25%”
是在CSS中定义的,除了我在没有课的情况下这样做。提问者事先不知道孩子的数量。抱歉,我没有读到那个评论。在这种情况下,正如前面提到的,我将获得子元素的数量,并使用JavaScript/jQuery设置子元素的宽度。我明白了-但是我想在css中定义它,并让它知道如何自动定义宽度。为您更新代码。这两个例子提供了相同的最终结果。顺便说一句,使用style=“width:25%”
是在CSS中定义的,除了我在没有课的情况下这样做。提问者事先不知道孩子的数量。抱歉,我没有读到那个评论。在这种情况下,如前所述,我将使用JavaScript/jQuery.Nice解决方案获取子元素的数量并设置子元素的宽度。您不必将它们包含在
元素中。具有display的div:表单元格
也同样有效(请参阅)。这是一个很好的解决方案。您不必将它们包含在
元素中。带显示的div:表格单元格