【问题标题】:Drop down menu CSS advice needed需要下拉菜单 CSS 建议
【发布时间】:2017-03-05 11:21:38
【问题描述】:

这是我的codepen.

问题 1

如何更改网页上导航栏下拉菜单的背景和文本颜色?仅出于回答目的,我希望文本为白色,背景颜色为灰色。 (我不是要求任何人为我做这件事,只是想把事情说清楚)

问题 2

在我的编码中,当我将鼠标悬停在框底部下拉菜单中的导航栏文本上时,会出现下划线。但是,我希望当用户将鼠标悬停在每个网页的每个文本下方而不是导航栏下拉菜单框的底部时,下划线会出现在每个网页的每个文本下方。

任何与识别类有关的有用链接?

此外,就导航栏 html 而言,我发现很难识别类名来做什么,因此,当我编写 CSS 时,我可以很容易地识别出我需要编写的类。因此,我想知道是否有人有任何有用的教程链接可以帮助我。

HTML 代码

<html>

<head>
    <title>Liam Docherty | London Web Developer &amp; GFX designer</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>

<body>
        <nav class="navbar navbar-default">
            <div class="container-fluid">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="#"><img src="http://placehold.it/60x60" alt="Your Brand Name"></a>
                </div>

                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav">
                            <li><a href="#">Home</a>
                            </li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">About Me <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">Action</a>
                                    </li>
                                    <li><a href="#">Another action</a>
                                    </li>
                                    <li><a href="#">Something else here</a>
                                    </li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">Separated link</a>
                                    </li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">One more separated link</a>
                                    </li>
                                </ul>
                            </li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Units <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">Action</a>
                                    </li>
                                    <li><a href="#">Another action</a>
                                    </li>
                                    <li><a href="#">Something else here</a>
                                    </li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">Separated link</a>
                                    </li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">One more separated link</a>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="#">Clients</a>
                            </li>
                            <li><a href="#contact-me">Contact Me</a>
                            </li>
                        </ul>
                      </div><!-- /.navbar-collapse -->
                    </div><!-- /.container-fluid -->
        </nav>


    <section class="section1">
        <div class="hero"></div>




        <a href= "#section2"><i class="fa fa-angle-down" style="font-size:100px;"></i></a>

    </section>
    <section class="section2" id = "section2">



        <a href = "#contact-me"> <i class="fa fa-angle-down" style="font-size:100px;"></i></a>

    </section>
    <section id="contact-me" class="contact_section">

    </section>
    <script   src="https://code.jquery.com/jquery-3.1.1.js"   integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="   crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</body>

<footer></footer>

</html>

CSS 代码

<style>
    body {
        margin: 0;
        padding: 0;
    }
    .navbar.navbar-default {
        background-color: #4D5061;
        height: 10vh;
    }
    .navbar.navbar-default ul {
        list-style-type: none;
        text-align: center;
    }
    .navbar.navbar-default ul li {
        display: inline-block;
    }
    .navbar.navbar-default ul li a {
        display: inline-block;
        padding: 3.5vh 8px 4px;
        color: white;
        text-decoration: none;
        font-size: 14pt;
        font-family: 'Roboto', sans-serif;
    }
    .navbar.navbar-default ul li:after {
        content: '';
        position: absolute;
        right: 50%;
        bottom: 0;
        left: 50%;
        height: 3px;
        background-color:red;
        border-radius: 9px;
        transition:all .2s;
    }
    .navbar.navbar-default ul li a:hover {
        color: red;
    }
    .nav.navbar-nav, .nav.navbar-nav>li {
        float: none;
    }
    .navbar.navbar-default ul li:hover:after {
        right: 0;
        left: 0;
    }
    a:hover {
        color:red;
        text-decoration:none;
    }
    #logo {
        padding-top: 2vh;
        padding-left: 20px;
        float: left;
    }
    section {
        position: relative;
    }
    .section1 {
        height: 90vh;
        background-color: #FFFFFF;
        text-align: center;
    }
    .section2 {
        height: 95vh;
        background-color: #A59E8C;
        text-align: center;
        color: white;
    }
    .contact_section {
        height: 93vh;
        background-color: grey;
    }
    .fa-angle-down {
        color: #4D5061;
        position: absolute;
        bottom: 0px;
    }
    footer {
        height: 5vh;
    }
</style>

【问题讨论】:

    标签: html css


    【解决方案1】:

    问题 1 答案:

    对于问题 1 的答案,请阅读 https://stackoverflow.com/users/7650566/rcruey 的答案。通过该系统,您可以添加背景颜色和文本颜色。

    注意: 背景颜色和颜色是 CSS 的基础。如果你有足够的时间,你需要先了解更多关于 CSS 的知识。

    问题 2 答案:

    当用户将鼠标悬停在每个网页上时,在每个网页的每个文本下添加下划线。就是这么简单。只需为您的段落和链接制作代码。

        p, a{
             text-decoration: none;
         }
    
        p:hover, a:hover{
             text-decoration:none;
        }
    

    并避免导航栏的此代码,只需专门为导航栏菜单添加此代码,这是在问题 1 中完成的:

        .dropdown .dropdown-menu {
                background-color: grey;
        }
    
       .dropdown .dropdown-menu a{
          color: white;
        }
    
        .dropdown .dropdown-menu a:hover{
           text-decoration: underline;
           text-decoration-color: black;
         }
    

    最后提出建议:

    我想说的是,您可能会尝试覆盖代码中的引导类。

    为此,请使用 Chrome 或 Firefox 的检查元素。通过单击上述字段并单击检查元素。然后你会看到上面的样式表使用了哪些类或 id。

    为了在您的 index.html 页面中使用 bootstrap over-righting... 获得完美的结果,请正确链接样式。尝试先链接 bootstrap.min.css,然后添加您自己的 style.css。这会给你一个完美的结果。

    【讨论】:

    • 对不起,我不是说一个段落的问题二。当您将鼠标悬停在导航栏上时,您会看到它下面有一条红线?我希望下拉菜单文本和下拉菜单的每一页都一个接一个地位于中心。感谢您的所有帮助!
    • 我找到了答案,别担心:)
    • 已经在我的其他评论中表示感谢:) 但是,再次感谢您的时间。
    【解决方案2】:

    在元素内部添加颜色时,您要确保对细节有明确的了解。例如,根据您给我的内容,我想出了这一点。 将此插入您的 CSS 文档并告诉我这是否是您的意思。如果是这样,只需确保您选择了一个元素(例如菜单)作为背景颜色,然后选择下一个元素(导航栏或另一个示例的链接)。为下一个元素着色。

    对于anenter code here 也可以轻松修复下划线字体,只需使用 text-decoration 命令即可。实心边框底部 1px 等。我希望这会有所帮助。

         .dropdown .dropdown-menu {
            background-color: grey;
    
    
        }
    
        .dropdown .dropdown-menu a{
            color: white;
    
        }
    
    .dropdown .dropdown-menu a:hover{
         text-decoration: underline;
        text-decoration-color: black;
        -moz-text-decoration-color:black;
     }
    

    【讨论】:

    • 感谢您的宝贵时间,这帮助我找到了解决问题的方法。但是,您知道问题 2 的解决方案吗?
    • 相同的概念,但使用文本装饰{}
    • 试试这个怎么样。 .dropdown .dropdown-menu li{ 文字装饰:下划线;文字装饰颜色:黑色; -moz 文本装饰颜色:黑色; }
    • 哦,对不起,我以为你的意思是这些线条总是出现。使用 a::hover 命令显示下划线。对此感到抱歉。
    • .dropdown .dropdown-menu a:hover{ text-decoration: underline;文字装饰颜色:黑色; -moz 文本装饰颜色:黑色; } 这样它就保留在这些元素中。
    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    相关资源
    最近更新 更多