html - 如何让边框更短,搜索表单排在一行?

标签 html css layout

我正在这个网站上工作:http://www.problemio.com在蓝色导航栏的右侧,我的搜索表单没有水平排列。有没有办法让它做到这一点?

我现在的html是这样的:

    <div class="menusystem" id="site_nav">
        <ul class="main_menu_ul"> <!-- The entire nav thing -->

            <li class="main_menu_li"> 
                            <form  name="form" method="post">
                    Search 
                    <input type="text" size="20"> 
                    <input type="submit"  value="Search"></input>   
                   </form>
            </li>           

            <li class="main_menu_li"><a href="http://www.problemio.com/">Support</a>
            </li>


            <li class="main_menu_li_left"><a href="http://www.problemio.com/">Problems</a> 
                <ul class="child_menu_ul">
                    <li class="first"><a href="http://www.problemio.com/">Categories</a></li>

                    <li class="last"><a href="http://www.problemio.com/">Hello 5</a></li>

                </ul>
            </li>
        </ul>
</div>

这是我的菜单项的 CSS:

.menusystem 
{
    position: absolute;
    font-size: 1em;
    color: white;
}

.menusystem ul, .menusystem li 
{
    margin: 0;
    padding: 0;
}
.menusystem li 
{
    list-style: none outside none;
}

.menusystem ul 
{
    list-style: none;
/*
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
*/

}

.menusystem ul li 
{
    position: relative;
/*
    -moz-box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    -webkit-box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
*/


}

.menusystem ul li ul 
{
    display: none;
    position: absolute;
    top: 1.6em;
    right: 0;
    width: 10em;    

}

.menusystem li a {
    display: block;
    padding: 5px 10px;
     /* dark blue */
/*  border: 1px solid #2e6ea4; */
    text-decoration: none;
}

.menusystem ul li.main_menu_li 
{
    float:right;
    width: 10em;
    margin-right:0.2em;
    text-align: center;
    border-left: solid 1px white;   
    border-left: solid 1px white;   
}

.menusystem ul li.main_menu_li_left
{
    float:right;
    width: 10em;
    margin-right:0.2em;
    text-align: center;
}

/* IE-Win (Holly hack) reads the list item line breaks, so lets hide those \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }


.menusystem li:hover ul, .menusystem li.mouseHover ul { 
    display: block;
}

.menusystem li ul.child_menu_ul li a
{
    /*
    color: #fff;
    */
    color: #fff;
    /* light blue */
/*  background: #7ba9c9;  */

        font-size: 80%;
    text-shadow: none;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-bottom: 1px solid #2e6ea4;
    border-top: 0px;
    background: none repeat scroll 0 0 #2E6EA4;
}
.menusystem li ul.child_menu_ul li.first a
{
    -moz-border-radius-topleft: 14px;
    -moz-border-radius-topright: 14px;
    -webkit-border-top-left-radius: 14px;
    -webkit-border-top-right-radius: 14px;
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-bottomright: 0;
    -webkit-border-bottom-left-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-top: 1px solid #2e6ea4;
}

.menusystem li ul.child_menu_ul li.last a
{
    -moz-border-radius-topleft: 0px;
    -moz-border-radius-topright: 0px;
    -webkit-border-top-left-radius: 0px;
    -webkit-border-top-right-radius: 0px;
        -moz-border-radius-bottomleft: 14px;
    -moz-border-radius-bottomright: 14px;
    -webkit-border-bottom-left-radius: 14px;
    -webkit-border-bottom-right-radius: 14px;
}

.menusystem li ul.child_menu_ul li.only a 
{
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;

}

.menusystem li ul.child_menu_ul li a:hover {
    color: #ff0;
    background: #2e6ea4; 
}

/*.menusystem li.main_menu_li a */
.menusystem ul.child_menu_ul a
{
    color: #fff;
/*
    background: -moz-linear-gradient(100% 100% 90deg, #668eb8, #2e6ea4 );
    background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#668eb8), to(#2e6ea4));
*/

    text-shadow: 1px 1px 1px rgba(0,0,0,0.9);
    /*
    -moz-text-shadow: 1px 1px 1px rgba(0,0,0,0.9);
    -webkit-text-shadow: 1px 1px 1px rgba(0,0,0,0.9);
    -moz-border-radius: 14px;
    -webkit-border-radius: 14px;
*/
}

.menusystem li.main_menu_li a:hover 
{
/*      background-color: #2e6ea4; */
    color: #ff0;
}

ul li.spaced
{   
    padding-bottom: 10px; 
    font-weight: normal;    
}

如何水平排列搜索区域?还有,有没有办法让导航项之间的白色边框变短?

最佳答案

要在 IE7 中排列表单,请使用下面的 css。对于其他浏览器只需调整 top 值即可。

ul.main_menu_ul form{
    position:relative;
    top:-4px;
}

如果你想让白色边框短于列表项的高度,使用一个 1px 的线条 gif 并将其设置为每个 li 的背景。

例如。

ul.main_menu_ul li{
    background:url(../images/line.gif) no-repeat top right;
}
ul.main_menu_ul li.last{
    background:none;
} 

关于html - 如何让边框更短,搜索表单排在一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7651267/

相关文章:

javascript计算其中包含 "X"的文本框的数量

html - 将图像绝对定位到全屏

html - 仅使用 HTML 和 CSS 显示图像标题

Swift 设置动态约束

android - 将图像缩放到最大可用宽度,保持纵横比并避免 ImageView 额外空间

Javascript 可以在 Windows 本地运行,但不能在网络服务器上运行

html - 在所有分辨率下保持元素的相同高度

html - 拆分背景 - 在面板展开时停止移动

html - Google Inspector 显示不同的宽度

javascript - 如何在不注册后面的框的点击事件的情况下点击一个html框?