【问题标题】:Padding of buttons too big按钮的填充太大
【发布时间】:2012-07-24 20:26:45
【问题描述】:

我一直在尝试更改我的 CSS 中的所有属性,以解决我当前的导航栏按钮问题,但没有成功。

当鼠标悬停在上面时,按钮超出了导航栏背景的高度,这是不应该的。

http://www.mohrdevelopment.com

我的 HTML:

            <ul class="navigation">
                <li class="current"><a href="index.html"><em class="home"/>Home</b></a></li>
                <li><a href="second.html"><em class="photos"/><b>Photos</b></a></li>
                <li><a href="projects.html"><em class="projects"/><b>Projects</b></a></li>
                <li><a href="about.html"><em class="about"/><b>About</b></a></li>
                <li><a href="contact.html"><em class="contact"/><b>Contact</b></a></li>
            </ul>

我的 CSS:

body {
        font-family:sans-serif;
        background: url(images/background3.png);
    }

    .navigation {
        background:#1841c8 url(Navigation/Navigation/nav_background.png);
        height:40px;
        margin-bottom:0px;
        font-size: 0; /*remove whitespace*/
        display:block;
        min-width:625px;
    }

    .navigation li{
        display:inline-block;
        line-height: 40px;
        font-size:16px;
            }

    .navigation li a{
        display:block;
        color:#FFFFFF;
        padding: 11px 5px 15px;
    }

    .navigation li a em{
        height:32px;
        display:inline-block;
        padding: 0 5px 6px 50px;
        font-weight:bold;
        vertical-align: middle;
        background-position: 0 50%;
        font-size:16px;
    }

    .navigation li a:hover{
        color:#00CCFF;
        background: url(Navigation/Navigation/nav_hover.png);
        text-decoration:none;
        padding: 11px 5px 10px;
    }

    .navigation .current a {
        color:#FFFFFF;
        background:url(Navigation/Navigation/nav_hover.png);
        padding-bottom:11px;
    }


    /*Navigation bar icons*/
    .navigation li a em.home {
        background-image: url(Navigation/Icon_images/home.png);
        background-repeat: no-repeat;

    }

    .navigation li a em.photos{
        background-image: url(Navigation/Icon_images/Photo.png);
        background-repeat: no-repeat;
    }


    .navigation li a em.projects{
        background-image: url(Navigation/Icon_images/projects.png);
        background-repeat: no-repeat;
    }


    .navigation li a em.about{
        background-image: url(Navigation/Icon_images/about.png);
        background-repeat: no-repeat;
    }

    .navigation li a em.contact{
        background-image: url(Navigation/Icon_images/Contact.png);
        background-repeat: no-repeat;
    }

    a {
      Color:blue;
      Text-decoration:none;
    }

    h1 {
        background: url(images/Header.png);
        text-indent:-9999px;
        width:1092px;
        height:132px;
        margin:auto;

    }


    .content, aside {
        height:600px;
    }

    .wrap {
          margin:auto;
          width:80%;
          background:yellow;
        }

    .content {
        background:teal;
        float:left;
        width:80%;
        height:auto;
        min-width:500px;
        display:inline;

    }

    aside {
        background:lightblue;
        float:left;
        width:20%;
        min-width:125px;
        display:inline;
    }

    aside ul {
        padding-left:1px;
        list-style:none;
    }


    ul a {
        text-decoration:none;
        color: #666;
    }

    ul a:hover {
        text-decoration:underline;
        color:black;
    }

    .sidebarli {
    }

    li {
        list-style:none;
        margin-bottom:20px;}

    label {
        display: block;
        cursor: pointer;
        color: #292929;
        font-family:sans-serif;
        padding-bottom:8px;
    }

    form ul {padding-left:0px;
    }

    textarea {
        width:400px;
        height:220px;

    }

【问题讨论】:

  • 你的整个 HTML 结构非常奇怪 - 你使用的是 em 元素而不是 div(看起来),你在菜单中将 li 和 em 元素嵌套在彼此内部等等等等。我没有并不是说听起来像个笨蛋,但我认为在进行更高级的项目之前,您需要正确学习基本的 HTML。
  • 我应该在
      内部使用 div 吗?
  • 我知道我应该学习 HTML。但我正在使用来自各个站点的视频教程,tutsplus 是我最喜欢的一个。但这些视频只涵盖了 html 编码直到某一点。我一直在努力寻找更高级的教程。
  • 你应该考虑读一本书,你可以按照自己的节奏阅读,适当地测试一些东西,然后在需要时再回去。 W3Schools - w3schools.com/html 是一个很棒的(文本)资源。此外,我所说的绝不是“高级”——使用
    进行内容分割是您学习的第一件事。永远不要复制你不理解的代码,从头开始构建东西并确保你了解你在做什么,而不仅仅是确保它以某种方式工作。

标签: css button navigation padding


【解决方案1】:

我认为问题在于 Navigation/Navigation/nav_hover.png 图像。您正在对背景图像应用重复。

请使用

.navigation li a:hover 
{
    background: url("Navigation/Navigation/nav_hover.png") **no-repeat** scroll 0 0 transparent;
    color: #00CCFF;
    padding: 11px 5px 10px;
    text-decoration: none;
}

在 style.css 中。

如果这解决了问题,请告诉我。

【讨论】:

  • :) 发生这种情况。别担心。
【解决方案2】:

您可以调整 A 元素的内边距:

.navigation li a {
  padding: 2px 5px;
}

另外,你的“em”标签应该被关闭。您有打开的“em”标签,但没有关闭的“/em”标签。

【讨论】:

  • 您的悬停状态还包括填充。
  • 我不是提出这个问题的人。 :) 我认为我们可能会以不同的方式解释他的问题。不过没关系。
  • 真的没有帮助。我有 标签。我是否允许最初关闭它而不是写
  • 哦,现在我也改变了悬停状态。谢谢你:)
  • 啊,很公平,我误解了这个问题。
猜你喜欢
  • 2016-06-13
  • 2013-07-21
  • 1970-01-01
  • 1970-01-01
  • 2013-05-01
  • 2014-06-07
  • 2017-03-26
  • 2016-08-11
  • 1970-01-01
相关资源
最近更新 更多