css - 为什么 div 不在前一个 div 之后开始?

标签 css html

我正在修改 WordPress 主题的 header 部分,并尝试将几个 div 嵌套在另一个 div 中。我对 HTML/CSS 不太有经验,但我所观察到的东西对我来说似乎很奇怪。

我的代码如下所示:

<div class="extras">
    <div id="search"> 
        <form role="search" method="get" id="searchform" action="http://mentatescholars.com/" >
            <input type="search" placeholder="Search" value="" name="s" id="s" />
            <input type="submit" id="searchsubmit" value="Search" />
        </form>
    </div><!-- end #search -->
    <div class="phone-number">
        <div class="phone-number-main">1-885-MENTATE</div>
        <div class="phone-number-sub">1-885-636-8283</div>
    </div>
</div>

在图片中,我使用 Firefox 的检查器选择了 phone-number div(选择 extras 看起来是一样的)。让我感到奇怪的是为什么它从 extras div 的顶部开始,而不是在 search div 之后。 search 甚至设置了 40px 的高度。

My search box and the phone number

如果我选择第三个 div,那么它会显示从前一个 div 之后开始的 div。

Selecting the third div behaves like I would think
同样让我感到奇怪的是,虽然 phone-number-main div 的顶部与 extras 齐平,但我不需要做任何事情,文本就完美地向下移动。

我的问题是这样的:如何才能使 phone-number div 在 search div 之后开始?

这是该网站,如果您想查看它:http://mentatescholars.com/ .

最佳答案

#search是 float 的,.phone-number不是。 如果添加clear:both.phone-number <div />您将看到正确的布局。

float从文档流中删除元素。检查此链接以获取更多信息:http://www.alistapart.com/articles/css-floats-101/

关于css - 为什么 div 不在前一个 div 之后开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14192184/

相关文章:

html - 如何将网页上文本框的 HTML 和 CSS 渲染成

javascript - D3 插入 H3 标签 Google 表格

php - 如何显示该个人资料是否是您的?

html - 滚动弹出框而不滚动其后面的网页

html - 修复了嵌入式 youtube 视频上的 div

javascript - 启用严格的 MIME 类型检查,拒绝从 '<url>' 执行脚本它的 MIME 类型 ('text/plain')不可执行,并且

javascript - 下拉菜单在移动设备上不关闭(在桌面上工作正常)- superfish.js

html - 没有宽度的中心 float 容器

javascript - 禁用在手机上以较低宽度自动播放的视频

html - ie 8 自定义谷歌字体的问题