トップページだけ、メインサイドバーの幅を変更する方法

トップページだけメインサイドバーの幅を変更したいという質問がありました。

強制的に、トップページのサイドバー幅を変更する手順の一例を、メモに残します。

950px固定レイアウトで、デフォルトサイドバーの幅を、トップページだけ左300pxに強制的に変更する方法。

Step 1

header.phpの改造

<body <?php body_class(); ?>>
<div id="<?php echo raindrops_warehouse('raindrops_page_width'); ?>" class="<?php echo 'yui-'.raindrops_warehouse('raindrops_col_width'); ?> hfeed">
<?php raindrops_prepend_doc();?>
<div id="top">

ハイライトされている行を見つけ、以下のように変更します。

<?php
$raindrops_column_width = raindrops_warehouse('raindrops_col_width');
if( is_home() ){
	$raindrops_column_width = 't3';
}
?>
  • t1 – narrow on left, 160px
  • t2 – narrow on left, 180px
  • t3 – narrow on left, 300px
  • t4 – narrow on right, 180px
  • t5 – narrow on right, 240px
  • t6 – narrow on right, 300px
  • *Step 2
    Step 1で、トップページの幅が変更されますが、コンテンツのコンテナがページ幅より突き出してしまいます。

    これは、コンテナの幅に、min-widthルールがあるためなので、style.cssに、min-widthを設定しなおしてやります。
    style.cssの最終行に、例えば以下のように記述します

    .home #doc2 #container{
    min-width:300px;
    }
    

    min-widthの設定は、ページの埋め込みスタイルの中にあります。

    例:

    /* raindrops is fixed start*/
                    
    #doc2{margin:auto;text-align:left;
    min-width:73.1em;width:950px;}
    #container{min-width:58em;}/* raindrops is fixed end */
    

    コメントは受け付けていません。