为什么HTML输入元素被浏览器调整大小?

问题描述 投票:2回答:2

我正在尝试在我的网站上创建一个简单的搜索表单,并且正在使用输入的HTML元素。但这确实很奇怪。

无论我在样式中指定哪种尺寸,浏览器都会调整它的尺寸。在下面的示例中,我有一个输入元素,其宽度为180px,但浏览器将其呈现为147px。 :/

您知道可能是什么问题吗?

这是一个视频示例,下面的代码:http://screencast.com/t/WwqAQDmofhf

<div id="search" style="background-color:#000; height:100px;">
    <input style="  background: none repeat scroll 0 0 #FFFFFF;
                    border: medium none;
                    border-radius: 5px 5px 5px 5px;
                    color: #666666;
                    float: left;
                    line-height: normal;
                    margin: 6px;
                    padding: 6px 27px 6px 6px;
                    width: 180px;
                    z-index: 40;"
            type="text" name="searchQuery" value="Search friend" onfocus="this.value=''" />
</div>
html css browser input
2个回答
2
投票

“宽度”的含义取决于页面的包装盒型号。传统上,宽度包括填充和边框,但是标准模型现在不包括它们。

如果您的html中没有正确的doctype,则大多数浏览器将默认使用传统的框模型,并且您会看到一个147px的框。添加文档类型将对其进行修复,并强制其他布局符合标准。

<!DOCTYPE html>
<html><head><body>
<div id="search" style="background-color:#000; height:100px;">
    <input style="  background: none repeat scroll 0 0 #FFFFFF;
                    border: medium none;
                    border-radius: 5px 5px 5px 5px;
                    color: #666666;
                    float: left;
                    line-height: normal;
                    margin: 6px;
                    padding: 6px 27px 6px 6px;
                    width: 180px;
                    z-index: 40;"
            type="text" name="searchQuery" value="Search friend" onfocus="this.value=''" />
</div></body></html>

0
投票

可能与:

padding: 6px 27px 6px 6px;

右填充27px +左填充6px +报告的宽度147px = 180px

您是否尝试过在浏览器中关闭Javascript的情况?

this示例中发生吗?

© www.soinside.com 2019 - 2024. All rights reserved.