webdevqa.jp.net

TwentyFifteenのサイドバーを右に移動する方法

子テーマとCSSのみを使用してTwentyFifteenテーマのサイドバーを右に移動することは可能ですか、それともテーマ自体の変更が必要ですか?私が遭遇している主な問題は、私が "デフォルト"または "スクロール"シナリオのどちらでも右側のサイドバーを得ることができるということです(デフォルトはposition:relativeを使用していてページがスクロールされ、サイドバーの位置が絶対位置に変更されたときにスクロールされます。)

15
Anteru

私はrtl.cssから次のものを取り出し、 Magic Widget を介して追加の!importantキーワードを付けて英語のサイトに適用しました。

body:before {
    right: 0 !important;
    left: auto !important;
}
.sidebar {
    float: right !important;
    margin-right: auto !important;
    margin-left: -100% !important;
}
.site-content {
    float: right !important;
    margin-right: 29.4118% !important;
    margin-left: auto !important;
}
.site-footer {
    float: right !important;
    margin: 0 35.2941% 0 0 !important;
}

下にスクロールしても、これはうまくいくようです。

6
fuxia

あなたはあなたの子供のテーマに以下のコードを追加することができます。

@media screen and (min-width: 59.6875em) {
    .site-content {
        float: left;
        margin-left: 0px;
        width: 70.5882%;
    }   
    .sidebar {
        float: right;
        right:0;
        margin-right: 0px;
        max-width: 413px;
        width: 29.4118%;
    }   
    body:before {
        right: 0;
        left:auto;
    }       
    .site-footer {
        margin: 0 0 0 6.1%;
    }
}
4
amolveer

承認された解決策は、携帯から使用されたときにテーマの応答性を壊す。 toschoとAnteruによる承認済みの解決策を、元の15個のテンプレートとしての@media screenにラップする必要がありました。

@media screen and (min-width: 59.6875em) {
  body:before {
    right: 0 !important;
    left: auto !important;
  }

  .sidebar {
    float: right !important;
    margin-right: auto !important;
    margin-left: -100% !important;
  }
  .site-content {
    float: right !important;
    margin-right: 29.4118% !important;
    margin-left: auto !important;
  }
  .site-footer {
    float: right !important;
    margin: 0 35.2941% 0 0 !important;
  }

  body { direction: rtl; }
  .sidebar, .site-content, .site-footer { direction: ltr; }
}
1
Augusto

私は最近25のテーマのためのコツとトリックから子供のテーマを拡張しました、そして私はあなたがサイドバーをあなたと一緒に右に動かすことができる方法を共有するべきであると思いました。一部の人々はそのようにそれを使用することを好むように、拡張された子のテーマで私は21のテーマからサイドバーを完全に削除しました。あなたは子供のテーマをダウンロードすることができます ここ そしてサイドバーを右に戻すためにコードを変更してください:

次のコードを変更してください。

.sidebar {
    float: none !important;
    margin-right: 0px;
    max-width: 413px;
    position: relative !important;
    width: 29.4118%;
    background: #fff;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
    display: none;
}

.sidebar {
    float: right;
    margin-right: 0px;
    max-width: 413px;
    position: relative !important;
    width: 29.4118%;
    background: #fff;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
}
0