我试图将我的社交媒体图标放在标题栏的右上角。但是,当我尝试“浮动:正确;”时它们,它们似乎离屏幕太远了。当我尝试使用“ position:absolute;”更正此问题时,什么也没有发生。

您可以在下面看到问题。

在我漂浮之前:对;他们:
html - 为什么我的社交媒体图标不显示在屏幕上?-LMLPHP

我漂浮后:对;他们:
html - 为什么我的社交媒体图标不显示在屏幕上?-LMLPHP

如果有人想去检查页面,我的网站是invictus-together.com

以下是我到目前为止拥有的CSS:

header {
    margin-top: 10px;
}

#masthead {
    background-color:black;
}

/*social media*/
.site-branding::after {
    content:"";
    clear:both;
    display:block;
}

.site-branding .widget {
    margin-bottom:0;
}

#sfsi-widget-2 {
    float:right;
    top:0;
    position:absolute;
    right:0;
}

.norm_row_sfsi_wDiv_shuffle {
    position: relative !important;
}

/*logo*/
.site-logo {
    margin-top: 20px;
    margin-left: 20px;

}

.site-logo a img {
    margin:0;
}

/* Main Navigation */


.main-navigation {
  clear: both;
  display: block;
  float: none;
  text-align: center;
}

.main-navigation li {
  display: inline-block;
  float: none;
}

.main-navigation a {
  display: block;
  font-size: 22px;
  font-weight: 700;
  padding: 0 20px;
  text-decoration: none;
  text-transform: uppercase;
  color:white;
}


编辑:
这是HTML:

<body <?php body_class(); ?>>
<div id="page">
    <a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'invictus' ); ?></a>

    <header id="masthead" class="site-header" role="banner">
    <div class="container">
        <div class="site-branding">
            <?php dynamic_sidebar('header'); ?>
        </div><!-- .site branding -->

        <div class="site-logo">
            <a href="invictus-together.com"><img src="<?php echo get_template_directory_uri(); ?>/invictus-together-logo-white.png"/></a>
        </div><!-- .site logo -->

        <nav id="site-navigation" class="main-navigation" role="navigation">
            <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><?php esc_html_e( 'Primary Menu', 'invictus' ); ?></button>
            <?php wp_nav_menu( array('theme_location' => 'menu-1', 'menu_id' => 'primary-menu') ); ?>
        </nav><!-- #site-navigation -->

        <div class="login-section">
        </div><!-- .login-section -->
    </div><!-- .container -->
    </header><!-- #masthead -->
</div>

最佳答案

在使用position:absolute时,您需要在父元素上紧跟一个position:relative。

因此,如果您是社交媒体图标元素,则位于其中:

<div class="top-header">
   <div class="top-header-social">
   ...your icons...
   </div>
</div>


您的“顶部标题”类应具有:

.top-header{

    position:relative;
    width: 100%;

}


这使社交媒体图标的父元素扩展了页面的整个宽度,而相对位置意味着top-header的子元素将使用top-header作为其自身区域。

确实,做所有这些事情的简单得多的方法就是使用flex。

<div class="social-media">
  <img src=".. your icons.."/>
  <img src=".. your icons.."/>
  <img src=".. your icons.."/>
</div>

.social-media{
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items:center;
}

关于html - 为什么我的社交媒体图标不显示在屏幕上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57893891/

10-09 19:26