用途
新着
履歴
分類

CSS デバイスの横のサイズを扱う

CSS デバイスの横のサイズを扱う
CSSのvwを使ってデバイスのサイズをデザインで扱うサンプルです。

viewportが「width=device-width」のとき、デバイスの横幅のサイズはユーザの端末次第となります。

その設定の場合、横幅をデザインで扱いたい時vwという単位が便利です。

以下CSSが100%と100vwのサンプルです。ボタンを押してみてください。

width:100%;
width:100%;
width:100vw;
width:100vw;

100vwと書くとデバイスの横幅いっぱいを表します。

つまり、半分なら50vwと書きます。

CSSのサンプルはこちら


.demo_w_percent{
    width:100%;
    background-color:#00F;
    position: relative;
    height: 40px;
    line-height: 40px;
    text-align: center;
    left:0px;
    display:none;
    color: #FFF;
}
.demo_vw{
    width:100vw;
    background-color:#F00;
    position: relative;
    height: 40px;
    line-height: 40px;
    text-align: center;
    left:0px;
    display:none;
    color: #FFF;
}

それぞれのクラスを要素に設定してます。

しかし、CSSで目一杯の横幅を使うと親の要素の余白を継承するので、画面をはみ出してしまう場合があります。

そのときの回避のjQueryのサンプルも用意しました。


$(document).ready(function(){

$('.demo_btn').on('click',function(){
    v = $(this).attr('value');
    
    if(v === 'demo_vw'){
        $('.'+v).show(0,
            function(){
                pos_left = $('.'+v).offset().left;
                if(pos_left != 0){
                    l = 0 - pos_left +'px';
                    $('.'+v).css('left',l);
                }
            }
        );
    }else{
        $('.'+v).show();
    }

});

});

つまり、表示寸前に要素のXY座標を拾って、要素の横の位置をマイナスしています。

もっと良い方法があれば、随時更新いたします。

公開 2019-11-16 12:53:42
このページの二次元コード
CSS デバイスの横のサイズを扱う

人気のサンプル

search -  category -  about
© 2024 kipure
Top