42

CSS newby here...

私はレスポンシブ フレームワークを見て、さまざまなタスクをどのように達成するかを想像しています。

画面のサイズに基づいて、body タグに次のようなクラスが追加されています。

.PhoneVisible、.DesktopVisible など...

リンクをボタンにするクラスもあります。

.btn、小ボタン、中ボタン、大ボタン

CSS をどのように変更するのか、私は困惑しています。IEのようなもの:

    <a href="#" class="MyButtonOptions">XXXX</>

    .PhoneVisible .MyButtonOptions { btn small-button }
    .TabletVisible  .MyButtonOptions { btn  med-button }
    .DesktopVisible .MyButtonOptions { btn large-button }

さまざまなオプションを個別に設定する必要がありますか?

すなわち .PhoneVisible .MyButtonOptions { 高さ:30px; } ?

すべてのアドバイスに感謝します!

4

3 に答える 3

65

CSS メディア クエリは、間違いなく最適な方法です。

ブラウザのサイズ、ピクセル密度などに基づいて CSS を簡単に分離できます。

CSS-Tricksの例のリストを次に示します。

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
    /* Styles */
}

/* Smartphones (landscape) ----------- */
@media only screen 
and (min-width : 321px) {
    /* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen 
and (max-width : 320px) {
    /* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
    /* Styles */
}

/* iPads (landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {
    /* Styles */
}

/* iPads (portrait) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {
    /* Styles */
}

/* Desktops and laptops ----------- */
@media only screen 
and (min-width : 1224px) {
    /* Styles */
}

/* Large screens ----------- */
@media only screen 
and (min-width : 1824px) {
    /* Styles */
}

/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
    /* Styles */
}
于 2013-08-28T00:00:23.270 に答える
23

このhttps://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queriesをご覧ください。

もう 1 つの方法は、サイズ変更イベントを「スイッチ コード」の一部にアタッチすることです。

このようなもの: http://jsfiddle.net/s5dvb/

HTML

<div id="body" class="limit400">
    <h1>Hey :D</h1>
</div>

CSS

.limit400 h1 { font-size:10px; }
.limit1200 h1 { font-size:50px; }

JS

$(window).on('resize', function() {
    if($(window).height() > 400) {
        $('#body').addClass('limit1200');
        $('#body').removeClass('limit400');
    }else{
        $('#body').addClass('limit400');
        $('#body').removeClass('limit1200');
    }
})

フレームワークについては、 http://purecss.io/またはhttp://getbootstrap.com/を試してください。

それが役に立てば幸い。

于 2013-08-27T23:33:41.960 に答える