html - 为什么我的 div 不保持一致?

标签 html css positioning inline

我正在尝试让一个 Input 和一个 Link 元素并排放置在 < strong>Div 元素。

我想要 DivLink 来完全填充 Div 元素,因此您无法看到 Input 边缘周围的包含 Div Link 元素。

但是,如果我将我的 Link 元素的宽度设置为任何大于 27px 的宽度,即使我应该向上移动,也会落到下一行到容器 Div 左侧的 31px 以适应 Link 元素。相关事件下面的 HTML 和 CSS...

HTML

<section>
        <img src="images/logo11w.png">
        <div name="search">
            <input>
            <a href="#"></a>
        </div>
    </section>

CSS

div[name="search"]{

display: block;
margin: auto;
height: 27px;
width: 572px;
background-color: green;}

input{

display: inline-block;
width: 541px;
height: 27px;
border-style: none;
background-color: yellow;
padding: 0;
margin: 0;}

div[name="search"]>a{
display: inline-block;
width: 27px;
height: 27px;
background-color: red;
margin: 0;}

有人可以解释为什么我的链接元素不能超过 27 像素而不落到下一行吗?我可以接受只有 27px 的宽度,我只是想从技术 Angular 理解为什么会发生这种情况。

最佳答案

inline-block 在呈现的 html 中显示实际布局中的空白...一个空白是 4px 。所以如果你想让你的链接有 31px 的宽度,你需要给 margin-left:-4px 或删除实际布局中的空白。

<section>
        <img src="images/logo11w.png">
        <div name="search">
            <input><a href="#"></a>
        </div>
    </section>

没有空白的更新 fiddle : http://jsfiddle.net/x6Mq5/

margin-left:-4px; 更新了 fiddle; http://jsfiddle.net/x6Mq5/1/

关于html - 为什么我的 div 不保持一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25065599/

相关文章:

javascript - jquery 仅使用 rel 属性滚动

javascript - 如何验证搜索中是否只存在匹配元素?

css - 在图旁边放置一个部分

css - 将主要内容滚动到固定标题上

android - 在特定排列中定位小部件

html - 如何让我的导航栏远离标题图片?

php - 与 PHP 相比,Python 'flow' 与 HTML 的表现如何?

html - 表格单元格 div 内常规 div 的奇怪填充行为

html - 最小宽度媒体查询规则的移动优先方法如何

javascript - 为什么代码不将类重新分配给 id'ed 标签而是中断?