html - 'Div' 和 'Input' 标签表现不同

标签 html css

我在做一个搜索工具,搜索栏本来是一个div,一切都很好,但是当我把它改成输入标签时,左边的空白消失了。有人可以解释为什么会发生这种情况。

这是我的代码(出于安全原因删除了 header HTML):http://jsfiddle.net/k3pv5cmh/

我已经尝试过 margin: automargin: 0 automargin-left: automargin-right:自动。但这些都不能解决问题。

在 JS Fiddle 上,您可以将输入标签更改为 div 标签并查看差异。

最佳答案

默认情况下,input 元素是内联元素。 div 是 block 级元素。因此,将您的 css 更改为:

#search-bar {
    height: 50px;
    width: 60%;
    max-width: 800px;

    background-color: white;
    border: 2px solid rgb(230, 230, 230);
    border-radius: 15px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 20%;
    display:block;
}

注意:display:block;

关于html - 'Div' 和 'Input' 标签表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695203/

相关文章:

html - bootstrap scrollspy 不起作用

html - 下拉标题问题

html - 如何在选择列表中设置标题和默认值?

javascript - 如何制作一个从 02 :00 reaches 00:00 and then restarts at 06:00 开始的计时器

html - 如何防止文本区域插入额外的空格?

css - 适用于 Chrome 但不适用于 Safari 的 Ionicons

javascript - 未为直接子元素返回元素高度

javascript - 如何使用 Javascript 更改表单中选择的文件上的标签文本

javascript - 使用包含框架的 html 页面加载 Div

html - 为网页设计元素保留两组文件