Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 形状元素宽度_Html_Css_Forms - Fatal编程技术网

Html 形状元素宽度

Html 形状元素宽度,html,css,forms,Html,Css,Forms,在经度窗体上,输入的宽度为181px,类型选择的宽度为175px。我不明白为什么它们有不同的宽度,因为在这两种情况下,相关的CSS规则是: .uniForm .small { width: 30% !important; } 在这两种情况下,父div的宽度都是604px 类似地,国家选择比地址文本输入短6px,尽管它们似乎都受相同的CSS规则控制 使现代化 多亏了对所使用的不同框大小模型的解释,我添加了以下CSS规则,但它似乎并没有解决Firefox中的问题: html {

在经度窗体上,输入的宽度为181px,类型选择的宽度为175px。我不明白为什么它们有不同的宽度,因为在这两种情况下,相关的CSS规则是:

.uniForm .small {
    width: 30% !important;
}
在这两种情况下,父div的宽度都是604px

类似地,国家选择比地址文本输入短6px,尽管它们似乎都受相同的CSS规则控制

使现代化 多亏了对所使用的不同框大小模型的解释,我添加了以下CSS规则,但它似乎并没有解决Firefox中的问题:

html {      
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -khtml-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
select元素的框大小为border box,而input元素的框大小为content box。这会导致不同图元的宽度和填充计算方式不同

<>这是我认为是各种浏览器默认样式表中的一个缺陷。请参见我刚才询问的内容。

select元素的框大小为border box,而input元素的框大小为content box。这会导致不同图元的宽度和填充计算方式不同


<>这是我认为是各种浏览器默认样式表中的一个缺陷。请参见我刚才的问题。

要确保不同元素采用相同的大小,如CSS中所指定的,首先确保它们都使用相同的框大小模型,例如:

-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-khtml-box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;

根据OP提出的问题编辑,评论如下:


您是否能够制定某种规则,确保将一致的框大小模型应用于所有表单元素

规则本身很容易创建,但它不会被所有表单元素实现,因为至少会忽略规则,不管我如何努力,目前:

#formElementID input, /* note that this will include `<input type="submit" />` and so on...
#formElementID select,
#formElementID textarea {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -khtml-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
参考资料:

.
要确保不同的元素使用相同的大小(如CSS中所指定),请首先确保它们都使用相同的框大小模型,例如:

-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-khtml-box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;

根据OP提出的问题编辑,评论如下:


您是否能够制定某种规则,确保将一致的框大小模型应用于所有表单元素

规则本身很容易创建,但它不会被所有表单元素实现,因为至少会忽略规则,不管我如何努力,目前:

#formElementID input, /* note that this will include `<input type="submit" />` and so on...
#formElementID select,
#formElementID textarea {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -khtml-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
参考资料:

.
在所有浏览器中?也许你需要一个高度或浮子。small是一个div?,small是一个CSS类,应用于所有浏览器中Form中的选择和输入元素?也许你需要一个高度或浮子。small是一个div?small是一个应用于表单中的选择和输入元素的CSS类。您能否制定某种规则,确保将一致的框大小模型应用于所有表单元素?谢谢你的提琴演示,或者呢?我不认为你会希望他们使用不同的盒子模型,也不认为他们会遵守分配的盒子模型…我添加了问题更新中显示的规则,但它似乎没有改变任何东西确保你没有任何东西!重要声明将覆盖它,并确保该规则足够具体以覆盖任何其他冲突规则。@Don input、select、textarea、button、meter、output、datalist、progress{…}您是否能够编造某种规则,确保将一致的框大小调整模型应用于所有表单元素?谢谢你的提琴演示,或者呢?我不认为你会希望他们使用不同的盒子模型,也不认为他们会遵守分配的盒子模型…我添加了问题更新中显示的规则,但它似乎没有改变任何东西确保你没有任何东西!重写它的重要声明,并确保该规则足够具体,可以重写任何其他冲突规则。@Don input、select、textarea、button、meter、output、datalist、progress{…}