全宽颜色部分但不是全宽页面内容

时间:2013-10-11 18:44:50

标签: php wordpress-theming twitter-bootstrap-3

我正在使用Bootstrap,但在使用'wrapperless主题'的roots. wordpresspress模板下

我正在尝试实现此http://roots.io/ - 其中有颜色部分,但页面内容本身不是全宽。

我得到的答案是使容器类100% - 但这只是使所有内容全宽。

我真的被困住了,我一直在努力解决这个问题。 - 我知道这听起来很无趣,但是我无法超越这一点。

所有页面模板都从base.php中获取其样式,此处为代码

    <?php get_template_part('templates/head'); ?>
<body <?php body_class(); ?>>

  <!--[if lt IE 8]><div class="alert alert-warning"><?php _e('You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.', 'roots'); ?></div><![endif]-->

  <?php
    do_action('get_header');
    // Use Bootstrap's navbar if enabled in config.php
    if (current_theme_supports('bootstrap-top-navbar')) {
      get_template_part('templates/header-top-navbar');
    } else {
      get_template_part('templates/header');
    }
  ?>

  <div class="wrap container" role="document">
    <div class="content row">
      <div class="main <?php echo roots_main_class(); ?>" role="main">
        <?php include roots_template_path(); ?>
      </div><!-- /.main -->
      <?php if (roots_display_sidebar()) : ?>
        <aside class="sidebar <?php echo roots_sidebar_class(); ?>" role="complementary">
          <?php include roots_sidebar_path(); ?>
        </aside><!-- /.sidebar -->
      <?php endif; ?>
    </div><!-- /.content -->
  </div><!-- /.wrap -->

  <?php get_template_part('templates/footer'); ?>

</body>
</html>

所以我只是不确定如何在任何页面模板中通过它

2 个答案:

答案 0 :(得分:3)

关于问题的第一部分:“100%宽彩色部分”。

原因Bootstrap默认使用box-sizing: border-box model每个html元素获得其父级的100%宽度。所以将.container div包装在其他元素(div,header等)中。这个包装器是身体的直接子,并且宽度为100%。请参阅:http://bootply.com/87196

<header role="banner" class="banner">
  <div class="container" style="background-color:red;">
    Header example
   </div>
</header>

<div style="background-color:blue;">Elements get 100% width by default</div>

关于页面模板的第二部分。您显示的代码使用get_template_part()。此功能是WordPress的核心功能。见http://codex.wordpress.org/Function_Reference/get_template_part#Using_loop.php_in_child_themes。您将找到模板的位置。 但我认为首先阅读http://roots.io/roots-101/#theme-templates

答案 1 :(得分:0)

谢谢,我昨天也提供了一些解决方案,以防其他人看到这个。

我自己只是从base.php文件中删除.container类。 - 这只是默认情况下停止了容器中每个页面的内容。 - 这样我就能够以完整的浏览器宽度向页面添加部分,并在其中添加.container来约束实际内容。

原始base.php的第16和17行

<div class="wrap <?php if ( ! is_front_page() ): ?>container<?php endif; ?>" role="document">
    <div class="content <?php if ( ! is_front_page() ): ?>row<?php endif; ?>">

在app.less

.home .main {
   padding: 0;
}

然后像这样添加你的部分:

<section class="semantic-section-class">  
   <div class="container">
      <!-- your content -->
   </div>
</section>