Python 布局:屏幕適配以及rem

一、視口

  • 1.1伺绽、視口的概念
    視口 是移動(dòng)設(shè)備上用來顯示網(wǎng)頁的區(qū)域养泡,一般會(huì)比移動(dòng)設(shè)備可視區(qū)域大嗜湃,寬度可能是980px或者1024px,目的是為了顯示下整個(gè)為PC端設(shè)計(jì)的網(wǎng)頁澜掩,這樣帶來的后果是移動(dòng)端會(huì)出現(xiàn)橫向滾動(dòng)條购披,為了避免這種情況,移動(dòng)端會(huì)將視口縮放到移動(dòng)端窗口的大小肩榕。這樣會(huì)讓網(wǎng)頁不容易觀看刚陡,可以用 meta 標(biāo)簽,name=“viewport ” 來設(shè)置視口的大小点把,將視口的大小設(shè)置為和移動(dòng)設(shè)備可視區(qū)一樣的大小橘荠。

  • 1.2、視口設(shè)置方法如下( 快捷方式:meta:vp + tab ):

    視口設(shè)置方法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <!-- 視口的設(shè)置:meta:vp + Tab 鍵 產(chǎn)生下面的代碼 郎逃,如果網(wǎng)頁想在移動(dòng)端顯示要加上這句話哥童,網(wǎng)頁端會(huì)自動(dòng)略過這句話,只針對(duì)移動(dòng)端
          viewport:視口的意思
          width=device-width:讓視口的寬度等于設(shè)備的寬度
          user-scalable=no:不允許用戶自動(dòng)縮放
          initial-scale=1.0:初始放縮等于 1.0
          maximum-scale=1.0:最大放縮也等于 1.0
          minimum-scale=1.0 最小放縮也等于 1.0  三個(gè)縮放都要寫的原因是兼容不同的瀏覽器
         -->
        <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <title>視口-屏幕適配</title>
        <style type="text/css">
            .box{
                width: 300px;
                height: 300px;
                background-color: gold;
             }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
    </html>
    

    提示:視口的設(shè)置:meta:vp + Tab 鍵 產(chǎn)生下面的代碼 褒翰,如果網(wǎng)頁想在移動(dòng)端顯示要加上這句話贮懈,網(wǎng)頁端會(huì)自動(dòng)略過這句話,只針對(duì)移動(dòng)端

  • 1.3优训、pc端與移動(dòng)端渲染網(wǎng)頁過程:

    pc端與移動(dòng)端渲染網(wǎng)頁過程

二朵你、視網(wǎng)膜屏幕(retina屏幕)清晰度解決方案

  • 2.1、視網(wǎng)膜屏幕指的是屏幕的物理像素密度更高的屏幕揣非,物理像素可以理解為屏幕上的一個(gè)發(fā)光點(diǎn)抡医,無數(shù)發(fā)光的點(diǎn)組成的屏幕,視網(wǎng)膜屏幕比一般屏幕的物理像素點(diǎn)更小早敬,常見有2倍的視網(wǎng)膜屏幕和3倍的視網(wǎng)膜屏幕忌傻,2倍的視網(wǎng)膜屏幕,它的物理像素點(diǎn)大小是一般屏幕的1/4,3倍的視網(wǎng)膜屏幕搞监,它的物理像素點(diǎn)大小是一般屏幕的1/9水孩。圖像在視網(wǎng)膜屏幕上顯示的大小和在一般屏幕上顯示的大小一樣,但是由于視網(wǎng)膜屏幕的物理像素點(diǎn)比一般的屏幕小琐驴,圖像在上面好像是被放大了俘种,圖像會(huì)變得模糊,為了解決這個(gè)問題绝淡,可以使用比原來大一倍的圖像宙刘,然后用css樣式強(qiáng)制把圖像的尺寸設(shè)為原來圖像尺寸的大小,就可以解決模糊的問題牢酵。
  • 2.2荐类、清晰度解決過程示意圖:
    清晰度解決過程示意圖

    上圖是采用 CSS樣式強(qiáng)制改變 圖片的尺寸

三、background 新屬性 (background-size:)

  • 3.1茁帽、background-size:的值

    • length:用長度值指定背景圖像大小玉罐。不允許負(fù)值屈嗤。
    • percentage:用百分比指定背景圖像大小。不允許負(fù)值吊输。
    • auto:背景圖像的真實(shí)大小饶号。
    • cover:將背景圖像等比縮放到完全覆蓋容器,背景圖像有可能超出容器季蚂。
    • contain:將背景圖像等比縮放到寬度或高度與容器的寬度或高度相等茫船,背景圖像始終被包含在容器內(nèi)。
  • 3.2扭屁、舉例

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>background 新屬性</title>
       <style type="text/css">
            .box{
               width: 200px;
               height: 200px;
               border: 2px solid #000;
               margin: 50px auto 0;
         
               background: url("images/apple.png") no-repeat;
               background-size: 200px 200px;
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
    </html>
    

    提示:上面的:background-size: 200px 200px; 可以換為background-size: 100% 100%算谈、background-size: auto;background-size: cover;料滥、background-size: contain;

四然眼、適配布局類型

  • 4.1、適配布局類型介紹:設(shè)備屏幕有多種不同的分辨率葵腹,頁面適配方案有如下幾種:

    • 1高每、全適配:響應(yīng)式布局+流體布局
    • 2、移動(dòng)端適配:
      • 流體布局+少量響應(yīng)式
      • 基于rem的布局
  • 4.2践宴、流體布局:就是使用百分比來設(shè)置元素的寬度鲸匿,元素的高度按實(shí)際高度寫固定值,流體布局中阻肩,元素的邊線無法用百分比带欢,可以使用樣式中的計(jì)算函數(shù) calc() 來設(shè)置寬度,或者使用 box-sizing 屬性將盒子設(shè)置為從邊線計(jì)算盒子尺寸烤惊。

    • calc() :可以通過計(jì)算的方式給元素加尺寸乔煞,比如: width:calc(25% - 4px);
    • box-sizing
      • 1、content-box 默認(rèn)的盒子尺寸計(jì)算方式
      • 2撕氧、border-box 置盒子的尺寸計(jì)算方式為從邊框開始瘤缩,盒子的尺寸喇完,邊框和內(nèi)填充算在盒子尺寸內(nèi)
  • 4.3伦泥、響應(yīng)式布局:響應(yīng)式布局就是使用媒體查詢的方式,通過查詢?yōu)g覽器寬度锦溪,不同的寬度應(yīng)用不同的樣式塊不脯,每個(gè)樣式塊對(duì)應(yīng)的是該寬度下的布局方式,從而實(shí)現(xiàn)響應(yīng)式布局刻诊。響應(yīng)式布局的頁面可以適配多種終端屏幕(pc防楷、平板、手機(jī))则涯。相應(yīng)布局的偽代碼如下:寫在樣式里面

    @media (max-width:960px){
         .left_con{width:58%;}
         .right_con{width:38%;}
    }
    @media (max-width:768px){
         .left_con{width:100%;}
         .right_con{width:100%;}
    }
    

五复局、基于 rem 的布局

  • 5.1冲簿、em單位與rem單位的介紹
    em 單位是參照元素自身的文字大小來設(shè)置尺寸,rem指的是參照根節(jié)點(diǎn)的文字大小亿昏,根節(jié)點(diǎn)指的是 html標(biāo)簽峦剔,設(shè)置html標(biāo)簽的文字大小,其他的元素相關(guān)尺寸設(shè)置用rem角钩,這樣吝沫,所有元素都有了統(tǒng)一的參照標(biāo)準(zhǔn),改變html文字的大小递礼,就會(huì)改變所有元素用rem設(shè)置的尺寸大小惨险。如下例子:

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>em單位</title>
       <style type="text/css">
          .box1{
               font-size: 12px;
               width: 20em;
               height: 10em;
               background-color: gold;
           }
           .box2{
               font-size: 20px;
               width: 20em;
               height: 10em;
               background-color: green;
           }
           p{
               font-size: 20px;
               text-indent: 2em;
           }
        </style>
    </head>
    <body>
        <div class="box1"> </div>
        <br>
        <br>
        <div class="box2"> </div>
        <p>首先了解em單位,em單位是參照元素自身的文字大小來設(shè)置尺寸脊髓,rem指的是參照根節(jié)點(diǎn)的文字大小辫愉,根
    節(jié)點(diǎn)指的是html標(biāo)簽,設(shè)置html標(biāo)簽的文字大小供炼,其他的元素相關(guān)尺寸設(shè)置用rem一屋,
    這樣,所有元素都有了統(tǒng)一的參照標(biāo)準(zhǔn)袋哼,改變html文字的大小冀墨,就會(huì)改變所有元素用rem設(shè)置的尺寸大小。</p>
    
    </body>
    </html>
    

    提示:em是根據(jù) font-size 變化的涛贯,例如:如果:font-size: 20px;,那么 1em 就是 20px

    • rem 使用的一個(gè)例子诽嘉,如下
    `rem` 使用的一個(gè)例子
       <!DOCTYPE html>
       <html lang="en" style="font-size: 20px">
       <head>
          <meta charset="UTF-8">
          <title>rem單位</title>
          <style type="text/css">
    
             .box1{
                 font-size: 12px;
                 width: 20rem;
                 height: 10rem;
                 background-color: gold;
              }
              .box2{
                 font-size: 20px;
                 width: 20rem;
                 height: 10rem;
                 background-color: green;
               }
           </style>
       </head>
       <body>
           <div class="box1">我是12px大小</div>
           <br>
           <br>
           <div class="box2">我是20px大小</div>
       </body>
       </html>
    

    提示:<html lang="en" style="font-size: 20px"> 中的font-size大小發(fā)生改變,其他一rem為單位的尺寸都會(huì)發(fā)生改變 弟翘,1rem=font-size:的大小

    • cssrem 插件的安裝:可以動(dòng)態(tài)地將px尺寸換算成rem尺寸虫腋,進(jìn)入packages目錄:Sublime Text -> Preferences -> Browse Packages... 復(fù)制下載的cssrem目錄到剛才的packges目錄里。 重啟Sublime Text稀余。配置參數(shù) 參數(shù)配置文件:Sublime Text -> Preferences -> Package Settings -> cssrem px_to_rem - px轉(zhuǎn)rem的單位比例悦冀,默認(rèn)為40。 max_rem_fraction_length - px轉(zhuǎn)rem的小數(shù)部分的最大長度睛琳。默認(rèn)為6盒蟆。 available_file_types - 啟用此插件的文件類型。默認(rèn)為:[".css", ".less", ".sass"]师骗。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末历等,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辟癌,更是在濱河造成了極大的恐慌寒屯,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黍少,死亡現(xiàn)場離奇詭異寡夹,居然都是意外死亡处面,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門菩掏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸳君,“玉大人,你說我怎么就攤上這事患蹂』蚣眨” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵传于,是天一觀的道長囱挑。 經(jīng)常有香客問我,道長沼溜,這世上最難降的妖魔是什么平挑? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮系草,結(jié)果婚禮上通熄,老公的妹妹穿的比我還像新娘。我一直安慰自己找都,他們只是感情好唇辨,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著能耻,像睡著了一般赏枚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晓猛,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天饿幅,我揣著相機(jī)與錄音,去河邊找鬼戒职。 笑死栗恩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洪燥。 我是一名探鬼主播磕秤,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蚓曼!你這毒婦竟也來了亲澡?” 一聲冷哼從身側(cè)響起钦扭,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤纫版,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后客情,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體其弊,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡癞己,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梭伐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痹雅。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颖低,死狀恐怖傲宜,靈堂內(nèi)的尸體忽然破棺而出剧董,到底是詐尸還是另有隱情逗噩,我是刑警寧澤瘪校,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布屈糊,位于F島的核電站蔬蕊,受9級(jí)特大地震影響块饺,放射性物質(zhì)發(fā)生泄漏拌滋。R本人自食惡果不足惜朴沿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望败砂。 院中可真熱鬧赌渣,春花似錦、人聲如沸昌犹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斜姥。三九已至货岭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疾渴,已是汗流浹背千贯。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搞坝,地道東北人搔谴。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像桩撮,于是被迫代替她去往敵國和親敦第。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345