如何在 bootstrap4 导航栏中对齐社交媒体图标及其工具提示?

How to align social media icons and their tooltip in a bootstrap4 navbar?

我无法将社交图标及其工具提示与导航栏的其余部分对齐。 如果您看到:社交图标不在正方形的中心,并且它们的工具提示不在黄色框下方。 (此代码中没有,但在图像和名称下,工具提示集中在黄色框下方)。 而且,怎么才能拉开距离?

抱歉我的错误代码,但我是 HTML 和 CSS 的新手。

我将 bootsrap4 用于导航栏黄色框,将 font-awesome 用于社交图标。

我删除了一些关于徽标和标题的部分。

.container {
    display: flex; /* mi permette di allineare tutti gli elementi*/
    margin: 15;
    padding: 20;
}
.social {
    position: relative;
    display: inline-block;
  }

/*Allineo elementi lista*/
.social ul{
    display: flex;
}

/*Rimuove i punti*/
.social ul li{
    list-style: none; 
    display: inline-block;
}


/*Il tooltip è il testo che appare quando posizione il mouse su una determinata zona*/
span.tooltiptext{
    /*Aspetto del testo*/
    visibility: hidden;
    width: 120px;
    background-color:#803c25;
    color:#fff;
    text-align: center;
    border-radius: 6px;
  

    /*Posizione del fumetto*/
    position: absolute;
    z-index: 1;
    top: 100%;
    margin-left: -79px;
    
    /*Effetto sfocatura*/
    opacity: 0;
    transition: 0.3s;
}

/* Posizione puntatore del tooltip */
span.tooltiptext::after {
    content: " ";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color:transparent transparent #803c25 transparent;
  }

.social ul li:hover span.tooltiptext{
    visibility: visible;
    opacity: 1;
}

/*Loghi Social*/

.fa {
    padding: 20px;
    font-size: 30px;
    width: 30px;
    text-align: center;
    text-decoration: none;
  }
  

.fa-facebook {
  background: #3B5998;
  color: white;
  text-decoration: none
}

.fa-tripadvisor {
    background: #00af87;
    color: white;
    text-decoration: none
  }
<!-- Script di Bootstrap per realizzare lo sfondo della navbar-->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

    

    <!-- Navbar-->
    <link href="nav.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<body>
        <header>
            <nav class="navbar navbar-expand-sm bg-warning navbar-dark">
                <div class="container">

                <div class="logo">
                        <a href="gestione.html">
                            <img src="./Immagini/logo.PNG">
                            <span class="tooltiptext"> Login Admin</span>
                        </a>
                </div>

                <div class="nome">
                    <a href="index.html">Il Brigante</a>
                    <span class="tooltiptext">Home</span>
                </div>

                <div class="social">
                    
                    <ul>
                        <li>
                            <a class="fa fa-facebook" target="_blank"></a>

                            <span class="tooltiptext"> Seguici su facebook</span>
                        </li>

                        <li>
                            <a class="fa fa-tripadvisor"target="_blank">
                                </a>

                            <span class="tooltiptext"> Guarda le nostre recensioni</span>
                        </li>

                    </ul>
                </div>
            </div>
            </nav>
        </header>
    </body>

您需要在 "a" 标签中添加以下 css。

    .container {
        display: flex; /* mi permette di allineare tutti gli elementi*/
        margin: 15;
        padding: 20;
    }
    .social {
        position: relative;
        display: inline-block;
      }

    /*Allineo elementi lista*/
    .social ul{
        display: flex;
    }

    /*Rimuove i punti*/
.social ul li{
list-style: none; 
display: inline-block;
list-style-type: none;
}
.social ul li a{
display: flex;
align-items: center;
justify-content: center;
}

    /*Il tooltip è il testo che appare quando posizione il mouse su una determinata zona*/
    span.tooltiptext{
        /*Aspetto del testo*/
        visibility: hidden;
        width: 120px;
        background-color:#803c25;
        color:#fff;
        text-align: center;
        border-radius: 6px;
      

        /*Posizione del fumetto*/
        position: absolute;
        z-index: 1;
        top: 100%;
        margin-left: -79px;
        
        /*Effetto sfocatura*/
        opacity: 0;
        transition: 0.3s;
    }

/* Posizione puntatore del tooltip */
span.tooltiptext::after {
    content: " ";
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color:transparent transparent #803c25 transparent;
  }

.social ul li:hover span.tooltiptext{
    visibility: visible;
    opacity: 1;
}

/*Loghi Social*/

.fa {
    padding: 20px;
    font-size: 30px;
    width: 30px;
    text-align: center;
    text-decoration: none;
  }
  

.fa-facebook {
  background: #3B5998;
  color: white;
  text-decoration: none
}

.fa-tripadvisor {
    background: #00af87;
    color: white;
    text-decoration: none
  }
<!-- Script di Bootstrap per realizzare lo sfondo della navbar-->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

    

    <!-- Navbar-->
    <link href="nav.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<body>
        <header>
            <nav class="navbar navbar-expand-sm bg-warning navbar-dark">
                <div class="container">

                <div class="logo">
                        <a href="gestione.html">
                            <img src="./Immagini/logo.PNG">
                            <span class="tooltiptext"> Login Admin</span>
                        </a>
                </div>

                <div class="nome">
                    <a href="index.html">Il Brigante</a>
                    <span class="tooltiptext">Home</span>
                </div>

                <div class="social">
                    
                    <ul>
                        <li>
                            <a class="fa fa-facebook" target="_blank"></a>

                            <span class="tooltiptext"> Seguici su facebook</span>
                        </li>

                        <li>
                            <a class="fa fa-tripadvisor"target="_blank">
                                </a>

                            <span class="tooltiptext"> Guarda le nostre recensioni</span>
                        </li>

                    </ul>
                </div>
            </div>
            </nav>
        </header>
    </body>

您的代码不稳定,请改进您的代码。

You can overwrite Bootstrap CSS but not by adding that CSS in bootstrap classes. REMEMBER IT.

回到你的代码,我在你的代码中修改并添加了一些CSS。

我从您的工具提示中删除了 margin-left: -79px;,因为它会在将来造成问题。

我在你的 .social ul li 中添加了 position: relative 并在你的工具提示中添加了 left: 50%; transform: translateX(-50%); class 以使你的工具提示在每个块中居中。

我在您的 icons 中添加了 d-flex justify-content-center classes 用于使图标在块中居中。

.container {
  display: flex;
  /* mi permette di allineare tutti gli elementi*/
  margin: 15;
  padding: 20;
}

.social {
  position: relative;
  display: inline-block;
}


/*Allineo elementi lista*/

.social ul {
  display: flex;
}


/*Rimuove i punti*/

.social ul li {
  list-style: none;
  display: inline-block;
  position: relative;
}


/*Il tooltip è il testo che appare quando posizione il mouse su una determinata zona*/

span.tooltiptext {
  /*Aspetto del testo*/
  visibility: hidden;
  width: 120px;
  background-color: #803c25;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  /*Posizione del fumetto*/
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  /* margin-left: -79px; */
  /*Effetto sfocatura*/
  opacity: 0;
  transition: 0.3s;
}


/* Posizione puntatore del tooltip */

span.tooltiptext::after {
  content: " ";
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #803c25 transparent;
}

.social ul li:hover span.tooltiptext {
  visibility: visible;
  opacity: 1;
}


/*Loghi Social*/

.fa {
  padding: 20px;
  font-size: 30px;
  width: 30px;
  text-align: center;
  text-decoration: none;
}

.fa-facebook {
  background: #3B5998;
  color: white;
  text-decoration: none
}

.fa-tripadvisor {
  background: #00af87;
  color: white;
  text-decoration: none
}
<!-- Script di Bootstrap per realizzare lo sfondo della navbar-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>



<!-- Navbar-->
<link href="nav.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<body>
  <header>
    <nav class="navbar navbar-expand-sm bg-warning navbar-dark">
      <div class="container">

        <div class="logo">
          <a href="gestione.html">
            <img src="./Immagini/logo.PNG">
            <span class="tooltiptext"> Login Admin</span>
          </a>
        </div>

        <div class="nome">
          <a href="index.html">Il Brigante</a>
          <span class="tooltiptext">Home</span>
        </div>

        <div class="social">

          <ul>
            <li>
              <a class="fa fa-facebook d-flex justify-content-center" target="_blank"></a>

              <span class="tooltiptext"> Seguici su facebook</span>
            </li>

            <li>
              <a class="fa fa-tripadvisor d-flex justify-content-center" target="_blank">
              </a>

              <span class="tooltiptext"> Guarda le nostre recensioni</span>
            </li>

          </ul>
        </div>
      </div>
    </nav>
  </header>
</body>