首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多余的填充物-顶部自动添加

多余的填充物-顶部自动添加
EN

Stack Overflow用户
提问于 2014-02-12 18:19:22
回答 2查看 471关注 0票数 0

我目前正在研究我的站点的响应性,我在侧边栏中搜索+提交输入时遇到了一些问题。在这个边栏中,我有一个主div,显示为一个表,并分成两个单元格。左单元格是文本输入字段,右边单元格是提交按钮(实际上是充当提交按钮的图像)。第一件事是,我无法使它们对齐,文本输入总是在img下的3px。

正如你在这个“小提琴”中看到的:http://jsfiddle.net/5pNF7/

文本输入上方不应该有任何灰色像素。我不明白为什么有一个3px填充-顶部自动添加在这个文本输入。我该怎么摆脱这个?

HTML:

代码语言:javascript
复制
<div id="primary" class="content-area clearfix">
    <div id="content" class="site-content">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin diam dui, bibendum nec porta ut, elementum id lacus</p>
    </div>
    <div class="sidebar-area">
        <div id="tertiary" class="sidebar-container">
            <div class="sidebar-inner">
                <div class="widget-area">
                    <aside id="search-2" class="widget widget_search">
                        <form role="search" method="get" class="search-form" action="http://foo.com">
                            <label> <span class="screen-reader-text">Search:</span>

                                <input type="search" class="search-field" value="" name="s">
                            </label>
                            <input type="image" class="search-submit" alt="Search" src="http://localhost/test-elisium/wp-content/themes/twentythirteen-child/resources/search-icon.png">
                        </form>
                    </aside>
                </div>
            </div>
        </div>
    </div>
</div>

和CSS:

代码语言:javascript
复制
.clearfix:after {
    content:".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.site-content {
    float: left;
    max-width: 55%;
    margin-right: 7%;
}
.sidebar-area {
    float: right;
    padding: 30px 3% 0 0;
    width:35%;
}
.widget {
    background-color: #999;
}
.widget input[type="search"] {
    width: 100%;
}
#search-2 form {
    display: table;
}
#search-2 .search-form label, .search-form .search-submit {
    display: table-cell;
}
.search-form .search-submit {
    width: 24px;
}
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}
input[type="search"] {
    -webkit-appearance: textfield;
    border: 2px solid red;
    padding: 5px;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-12 18:23:23

加上这个

代码语言:javascript
复制
#search-2 .search-form label, .search-form .search-submit {
    display: table-cell;
    vertical-align: top;
}

http://jsfiddle.net/5pNF7/2/

与垂直对齐顶部,您的两个项目将对齐顶部,而不是一个对齐基线和另一个在顶部。

票数 1
EN

Stack Overflow用户

发布于 2014-02-12 18:34:46

您可以使用float属性,而不是将form display:table和子元素作为display:table-cell。

代码语言:javascript
复制
#search-2 form {
    width: 100%;
}
#search-2 .search-form label
{
    float:left;
    margin-right:5px;
}
 .search-form .search-submit {
    float:left;
}

还添加clearfix类以获得浮点元素的完整高度。

更新的JSFiddle:http://jsfiddle.net/5pNF7/4/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21736319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档