【问题标题】:Tabs bar in header aligned to right. Support for all browsers issue标题中的标签栏向右对齐。支持所有浏览器问题
【发布时间】:2011-08-11 02:10:45
【问题描述】:

我想得到类似这里的东西

我是这样编码的 HTML:

            <header>
            <div id="logo">

                <form id="login" action="/login" method="post">
                    <div>
                        <label>
                            Login: <input type="text" name="username" value="">
                        </label>

                        <label>
                            Password: <input type="password" name="password" value="">
                        </label>
                        <input type="submit" name="login" value="Log In">
                    </div>
                </form>

                <nav>

                    <ul>
                        <li class="active">
                            <a href="/">Home</a>
                        </li>
                        <li>
                            <a href="/page_1">Some link</a>
                        </li>
                        <li>

                            <a href="/page_2">Some link</a>
                        </li>
                    </ul>
                </nav>  
            </div>          
            <div id="under_menu">
                <nav>

                    Location:
                    <ul>

                        <li>

                            <a href="/">Home</a>

                        </li>

                    </ul>
                </nav>
                <form id="search" action="/search" method="post" onsubmit="this.form.submit();">
                    <div>

                        <input type="text" name="search_query" value="Search">
                    </div>
                </form>
            </div>
        </header>

和 CSS:

#logo {
    background:#fff url('./gfx/logo.png') no-repeat;
    overflow:hidden;
}

#login {
    color:#999;
    float:right;
    font-size:0.9em;
    padding-top:5px;
}

#logo nav {
    clear:both;
    float:right;
    padding-top:30px;
}

#search {
    float:right;
    padding:4px 0;
}

#logo nav ul {
    list-style:none;
    padding:8px 0;
}

#logo nav li {
    color:#444;
    cursor:pointer;
    display:inline;
    font-size:1.2em;
}

#logo nav li a {
    color:#777;
    padding:9px 12px;
}

#logo nav .active a {
    background:#1181ce;
    color:#fff;
}

#logo nav li:hover a {
    color:#1181ce;
}

#logo nav .active a:hover {
    color:#fff;
}

#under_menu {
    background:#f0f0f0;
    border-top:2px solid #1181ce;
    height:100%;
    overflow:hidden;
    padding:0 9px;
}

#under_menu nav {
    float:left;
    padding:8px 0;
}

#under_menu nav ul { display: inline; list-style: none; }
#under_menu nav li { display: inline; }

使用这些代码,它在浏览器中看起来像:

火狐:

谷歌浏览器:

我已经尝试修复它好几天了,但我还没有任何想法。你怎么看这个问题?

【问题讨论】:

  • 在我的电脑上的 Chrome 中看起来不错:jsfiddle.net/XrQzN
  • 应该看起来像第一个屏幕截图,第二个屏幕截图,还是两者都不是?
  • 我剪了很多代码,然后它就可以工作了。但是我的完整代码就像我在问题中写的那样:jsfiddle.net/XrQzN/3

标签: html css firefox google-chrome


【解决方案1】:

嗯,它在 Firefox 中对我来说空间很小,但只有当我的窗口处于特定大小时...无论如何,如果我更改 #logo nav ul { padding: 8px 0; } 而不是 #logo nav ul { padding: 9px 0; } 上的填充,它似乎在两者中都可以修复它firefox 和 chorme。 http://jsfiddle.net/cr9Rg/

【讨论】:

  • 我也做了同样的事情,但它看起来不太好,并且链接文本和彩色边框之间的距离在 Firefox、Chrome、Opera 中为 12px,在 IE9 中为 13px。所以,还是有区别的。
  • 我不确定你的意思,但如果你不喜欢填充的大小为 8px,你可以增加 #logo nav ul 上的填充大小,只要你增加#logo nav li a 上的填充大小成比例。
猜你喜欢
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 2015-01-10
  • 2023-01-29
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
相关资源
最近更新 更多