如何使用Font Awesome图标制作下拉菜单

3

我刚开始学编程,不知道如何制作类似于fonawsome的下拉菜单,fa fa-ellipsis-v

我在这里尝试了一下,但不知道这个类是如何覆盖的。

*{
    margin: 0;
    padding :0;
    box-sizing: border-box;

}


 .chat-container{
    height: 100vh;
    width: 100vw;
   
    display: grid;
    grid-template-rows: 10% 80% 10%;
   grid-template-columns: 75% 25%; 
   /* grid: 'search-container chat-title' 50px
            'conversation-list chat-massage-list' 1fr
            'new-massage-container chat-form' 420px/ 320px 1fr;
    overflow-x: hidden;
    border: 1px solid black;
} */
 }
 #search-container
 {
   
/* height: 60px;
width: 25%;
float: left; */
background-color: #0048aa;
 box-shadow: 0 1px 3px -1px rgba(0, 0, 0, 0.75);
    z-index: 1; 
   
    
}
#chat-title{
    background-color: rgba(217, 223, 221, 0.945);
    /* height: 60px;
    width: 75%;
    float: left; */
    color: #0048AA;
    font-weight: bold;
    font-size: 2.0rem;
    box-shadow: 0 1px 3px -1px rgba(0, 0, 0, 0.25);
    z-index: 1;
    
}
#conversation-list{
/* 
    height: 85vh;
    width: 25%;
    position: fixed;
    float: left;
    top: 60px;
    left: 0; */
    background-color: #0048aa;
    
      
}
#chat-form
 {   /* height: 85vh;
    width: 75%;
    position: fixed;
    float: left;
    top: 60px;
    left: 25%; */
    border-radius: 0 0 10px 0;
    background: #eee;
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    
}
/*#search-container
{
   
    
}*/
#new-massage-container{
    /* height: 40px;
    width: 25%;
    position: fixed;
    float: left;
    bottom: 0;
    left: 0; */
    background-color: #0048aa;
    
    box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.25);
    z-index: 1; 
    
   
    /* border-top: 1px solid rgba(0, 0, 0, 0.25);
    border-radius: 0 0 0 10px; 
    background-color: rgb(221, 43, 43);*/
}


#chat-list{
    background-color: rgba(217, 223, 221, 0.945);
    
     
} 
#profile_img{
    margin: 7px 18px;
    
    border-radius: 50%;
   
}
i{
}
.dropbtn {
    font-size: 16px;
    border: none;
    cursor: pointer;
    
    background: transparent;
    border: 0 none;
    font-weight: inherit;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: top;
  }
  
  .dropbtn:hover, .dropbtn:focus {
    background-color: #2980B9;
  }
  
.dropdown {
    position: relative;
    display: inline-block;
    margin-left: 190px;
  }
  
  .dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    overflow: auto;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    
    
  }
  
  .dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
  }
  
  .dropdown a:hover {background-color: #ddd;}
  
  .show {display: block;}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

    <!-- Popper JS -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" type="text/css" href="css/chat.css" >
    <title>Chatkaro1</title>
</head>
<body>
   
    <div class="chat-container">
        <div id="chat-title">
            chat
        </div>
        <div id="search-container">
            <img id="profile_img" src="images/2.png" alt="image" style="width: 50px;">
            <div class="dropdown">
                <button  href=""><i  onclick="myFunction()" style="float: right;" class="fa fa-ellipsis-v fa-lg dropbtn"></i></button>
                <div id="myDropdown" class="dropdown-content">
                  <a href="#home">Home</a>
                  <a href="#about">About</a>
                  <a href="#contact">Contact</a>
                </div>
              </div>
              
              <script>
              /* When the user clicks on the button, 
              toggle between hiding and showing the dropdown content */
              function myFunction() {
                document.getElementById("myDropdown").classList.toggle("show");
              }
              
              // Close the dropdown if the user clicks outside of it
              window.onclick = function(event) {
                if (!event.target.matches('.dropbtn')) {
                  var dropdowns = document.getElementsByClassName("dropdown-content");
                  var i;
                  for (i = 0; i < dropdowns.length; i++) {
                    var openDropdown = dropdowns[i];
                    if (openDropdown.classList.contains('show')) {
                      openDropdown.classList.remove('show');
                    }
                  }
                }
              }
              </script>
              
        </div>
        <div id="chat-form">
            form
        </div>
        <div id="conversation-list">
            conversation
        </div>
        <div id="chat-list">
            list
        </div>
        <div id="new-massage-container">
            massage
        </div>
        
        
    </div>
    
</body>
</html>

点击此处查看图片

谢谢!


1
你所说的“不工作”具体指什么?请详细解释你想要实现什么,并说明你目前面临的问题。 - M.A Shahbazi
如果你看到页面上的图标不是它应有的样子,可能是某个 CSS 类覆盖了它。 - Deepanjan Adak
1个回答

0

替换这个

 <a >
<i  onclick="myFunction()" style="float: right;" class="fa fa-ellipsis-v fa-lg dropbtn"></i>
</a>

而不是

 <button >
<i  onclick="myFunction()" style="float: right;" class="fa fa-ellipsis-v fa-lg dropbtn"></i>
</button>

当您在按钮内部使用<i>时,它会采用按钮的样式。按钮具有其继承的样式表。您可以使用它,但是您需要覆盖按钮的默认样式表。

您可以更改<i>的样式,比如colorfont-size等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接