在页脚 div 内将 div 居中

Centering a div inside a div on footer

我对 Web 开发还很陌生,但仍然可以 read/edit 一些东西。我正在修改具有 3 个小部件的 wordpress 主题的页脚。我能够设置页脚区域以及 3 个小部件。

我想达到两个结果: 1 - 移动版,3 个小部件,一个在另一个下面。 2 - 桌面版,3 个内联可见的小部件(并排)。在第二个上我没有成功。

我在 footer.php

中定义了
<footer>
<div id="footer-sidebar" class="secondary">
    <div id="footer-content">
        <div id="footer-sidebar1">
            <?php
            if(is_active_sidebar('footer-sidebar-1')){
            dynamic_sidebar('footer-sidebar-1');
            }
            ?>
        </div>
        <div id="footer-sidebar2" id="info-container:after">
            <?php
            if(is_active_sidebar('footer-sidebar-2')){
            dynamic_sidebar('footer-sidebar-2');
            }
            ?>
        </div>
        <div id="footer-sidebar3">
            <?php
            if(is_active_sidebar('footer-sidebar-3')){
            dynamic_sidebar('footer-sidebar-3');
            }
            ?>
        </div>

            <?php 
                wp_nav_menu(
                    array(
                        'theme_location' => 'Footer',
                        'container' => 'false',
                        'fallback_cb' => 'false',
                        'menu_class' => 'main-links pull-right',
                        'menu_id'=>'menu_footer'
                    ));
            ?>
    </div>
</div>

然后我在 CSS 中尝试了不同的东西,但没有成功,目前看起来像这样:

footer {
    background: #0c0c0c;
    color: white;    
}

footer h3{
    color: white;
    font-family: 'bangers';
    font-size: 30px;
}

#footer-sidebar {
    overflow: hidden;
    text-align: center;
}

#footer-content {
    padding-top: 20px;
    padding-bottom: 10px;
    overflow: hidden;
    margin-left: 10%;
    margin-right:10%;

#footer-sidebar1 {
    float: left;
    width: 21em;
    margin-right:5em;
    display: inline-flex;
}

#footer-sidebar2 {
    float: left;
    width: 21em;
    margin-right:5em;
    display: inline-flex;
}

#footer-sidebar3 {
    float: left;
    width: 21em;
    display: inline-flex;
}

#info-container:after {
    clear: both;
    content: "";
    display: table;
}

我尝试了不同的建议,但仍然无法在桌面版中居中。非常感谢任何帮助。让我知道是否可以进一步澄清问题。

为了达到在不同类型的设备(移动设备和台式机)上具有不同类型的内容外观的目的,您需要使用 媒体查询 做一点研究查找演示示例。

方法:

在您的案例中,按照桌面视图进行设计,然后为移动视图编写具有适当屏幕分辨率参数的@media,并编写代码使一个位于另一个下方。

@WisdmLabs 是正确的,您需要使用媒体查询来正确调整所有内容的大小。

但是,您 运行 遇到的问题是每个 div 太大,在显示内联后,一个 div 无法与另一个使用原始 width: 22em; 解决这个问题的方法是使用 百分比 ,请注意,在使用百分比时,您 必须考虑填充和边距 。这就是代码反映 width: 32%; 而不是 width: 33%; 的原因。

此外,在编写 CSS 时,如果您发现自己将相同的规则编写了两到三次,那么很可能有更有效的编写方法!

#footer-content {

  padding-top: 20px;

  padding-bottom: 10px;

  overflow: hidden;

  margin-left: 10%;

  margin-right: 10%;

}

#footer-content > div {

  min-height: 50px;

  background: #ddd;

  width: 32%;

  float: left;

  margin-right: 1%;

}

#footer-content div:last-child {
  margin-right: 0;
  }
<div id="footer-sidebar" class="secondary">
  <div id="footer-content">
    <div id="footer-sidebar1">

    </div>
    <div id="footer-sidebar2" id="info-container:after">

    </div>
    <div id="footer-sidebar3">

    </div>

  </div>
</div>