- css/
- 如何在带有CSS网格的表单中使用字段集?
如何在带有CSS网格的表单中使用字段集?
如何在带有CSS网格的表单中使用字段集?,css,html,css-grid,Css,Html,Css Grid,我想对语义HTML使用。
我正在使用CSS网格使我的表单看起来很漂亮
表单{
显示:网格;
网格模板列:minmax(100px,最大内容)minmax(200px,最大内容)minmax(200px,1fr);
栅隙:10px;
}
.field\u标签{
文本对齐:右对齐;
}
名字
只能使用字母、空格、连字符和撇号
我看到两个选项:
如果您严格地想要使用CSS网格布局,您需要使用这个
fieldset {
display: contents;
}
字段集{
显示:内容;
}
但是,
我想对语义HTML使用
。
我正在使用CSS网格使我的表单看起来很漂亮
表单{
显示:网格;
网格模板列:minmax(100px,最大内容)minmax(200px,最大内容)minmax(200px,1fr);
栅隙:10px;
}
.field\u标签{
文本对齐:右对齐;
}
名字
只能使用字母、空格、连字符和撇号
我看到两个选项:
如果您严格地想要使用CSS网格布局,您需要使用这个
fieldset {
display: contents;
}
字段集{
显示:内容;
}
但是,这将从视图中消除边界集,因此无法获得边界等。您仍然可以设置图例的样式
如果您想让字段集正常显示并带有边框等,则需要更改布局。以下是一个可以作为起点的示例:
fieldset > label, form > label {
clear: both;
float: left;
width: 18%;
text-align: right;
font-weight: bold;
white-space: nowrap;
}
fieldset>label {
margin-right: 0.5em;
padding-top: 0.1em;
}
form>label {
margin-left: 0.75em;
margin-right: 0.5em;
padding-top: 0.1em;
}
fieldset>:not(label):not(legend) {
min-width: 72%;
width: 72%;
margin-bottom: 0.5em;
display: block;
}
form>:not(label):not(fieldset) {
min-width: 70%;
width: 70%;
margin-bottom: 0.5em;
display: block;
}
字段集>标签,表单>标签{
明确:两者皆有;
浮动:左;
宽度:18%;
文本对齐:右对齐;
字体大小:粗体;
空白:nowrap;
}
字段集>标签{
右边距:0.5em;
填料顶部:0.1米;
}
表格>标签{
左边距:0.75em;
右边距:0.5em;
填料顶部:0.1米;
}
字段集>:非(标签):非(图例){
最小宽度:72%;
宽度:72%;
边缘底部:0.5em;
显示:块;
}
表单>:非(标签):非(字段集){
最小宽度:70%;
宽度:70%;
边缘底部:0.5em;
显示:块;
}
阅读以下内容:@Temaniaff如果这真的很有用,并且起到了一定的作用-有一个小问题,那就是如果我想在字段集的开头添加一个
,它会再次扰乱网格。有没有办法让一个“假”项目可以放在那一行的第2列和第3列?你可以尝试使用pseudo元素来创建这些假元素。我做了两个空的
,它可以工作,但感觉不是很语义化!如果我们能想出一个合法的方法让它发挥作用,我很乐意接受你的答案,如果你把它写成一个。你需要提供更多关于第二部分的细节;)如何添加图例等,以便编辑问题