欧美亚洲日韩国产人成在线播放-16女下面流水不遮视频-亚洲老熟女@TUBEUMTV-亚洲精品国产摄像头,精品人妻一区二区三区四区,亚洲日本一区二区三区在线,日本人妻巨大乳挤奶水

石家莊網(wǎng)站開發(fā) 石家莊網(wǎng)站開發(fā)公司

資訊動(dòng)態(tài)

察而思、思而行、行而后語(yǔ)、知行合一

石家莊網(wǎng)站開發(fā)中常見的rem布局

發(fā)布時(shí)間:2018-01-17 熱度:

  今天尚武科技的網(wǎng)站開發(fā)工程師將為大家?guī)碓谌粘i_發(fā)中常見的rem布局設(shè)計(jì),今天尚武科技則為大家分享一下常見的rem布局的設(shè)計(jì)經(jīng)驗(yàn),讓大家可以在日后的網(wǎng)站開發(fā)中更好的使用與再次開發(fā)。

      網(wǎng)易的rem布局
  
  隨著分辨率的增大,頁(yè)面的效果會(huì)發(fā)生明顯變化,主要體現(xiàn)在各個(gè)元素的寬高與間距。375680的比320680的導(dǎo)航欄明顯要高。能夠達(dá)到這種效果的根本原因就是因?yàn)榫W(wǎng)易頁(yè)面里除了font-size之外的其它c(diǎn)ss尺寸都使用了rem作為單位,比如你看導(dǎo)航欄的高度設(shè)置代碼:
  
  header,footer{
  
  height:.90rem;
  
  }
  
  網(wǎng)易頁(yè)面上html的font-size不是預(yù)先通過媒介查詢?cè)赾ss里定義好的,而是通過js計(jì)算出來的,所以當(dāng)分辨率發(fā)生變化時(shí),html的font-size就會(huì)變,不過這得在你調(diào)整分辨率后,刷新頁(yè)面才能看得到效果。你看代碼就知道為啥font-size是直接寫到html的style上面的了(js設(shè)置的原因). 這樣的話,每個(gè)頁(yè)面中的寬高以及具體值只要除以100即可,而根節(jié)點(diǎn)的字號(hào)則是font-size=deviceWidth / 6.4,頁(yè)面寬度如果是640px,則轉(zhuǎn)換之后是6.4rem。需要注意的是,字號(hào)需要額外的媒體查詢,而不是rem定的。
  
  //字號(hào)單獨(dú)用px即可 ,這里建議大家用變量定義小中大正常集中字號(hào)常量就可以,不用每次去針對(duì)具體樣式做字號(hào)調(diào)整。
  
  @media screen and (max-width:321px){
  
     .m-navlist{font-size:15px}
  
  }
  
  @media screen and (min-width:321px) and (max-width:400px){
  
     .m-navlist{font-size:16px}
  
  }
  
  @media screen and (min-width:400px){
  
     .m-navlist{font-size:18px}
  
  }
  
  //設(shè)置基本的字號(hào),基本元素取材除100即可得到rem的大小,當(dāng)然也可以用16px換算改變根字號(hào)為6.25rem即可。因?yàn)檫€有很大比例的手機(jī)設(shè)計(jì)為320的,所以這里考慮為640的。當(dāng)屏幕大于640的時(shí)候,不再放大,讓頁(yè)面處于水平居中640px顯示。
  
  function fontAuto(){
  
  var deviceWidth = document.documentElement.clientWidth;
  
  if(deviceWidth > 640) deviceWidth = 640;
  
  document.documentElement.style.fontSize = deviceWidth / 6.4 + 'px';
  
  }
  
  fontAuto();
  
  window.onresize=function(){
  
  fontAuto();
  
  }
  
  阿里rem布局
  
  淘寶的效果跟網(wǎng)易的效果其實(shí)是類似的,隨著分辨率的變化,頁(yè)面元素的尺寸和間距都相應(yīng)變化,這是因?yàn)樘詫毜某叽缫彩鞘褂昧藃em的原因。在介紹它的做法之前,先來了解一點(diǎn)關(guān)于viewport的知識(shí),通常我們采用如下代碼設(shè)置viewport。
  
   <meta name="viewport"content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 這樣整個(gè)網(wǎng)頁(yè)在設(shè)備內(nèi)顯示時(shí)的頁(yè)面寬度就會(huì)等于設(shè)備邏輯像素大小,也就是device-width。這個(gè)device-width的計(jì)算公式為:設(shè)備的物理分辨率/(devicePixelRatio * scale),在scale為1的情況下,device-width = 設(shè)備的物理分辨率/devicePixelRatio 。devicePixelRatio稱為設(shè)備像素比,每款設(shè)備的devicePixelRatio都是已知,并且不變的,目前高清屏,普遍都是2,不過還有更高的,比如2.5, 3 等,魅族note的手機(jī)還有6p的devicePixelRatio就是3。淘寶觸屏版布局的前提就是viewport的scale根據(jù)devicePixelRatio動(dòng)態(tài)設(shè)置。js中可以通過devicePixelRatio拿到具體的設(shè)備數(shù)值。 
  
  1. 動(dòng)態(tài)設(shè)置viewport的scale
  
  var scale = 1 / devicePixelRatio;
  
  document.querySelector('meta[name="viewport"]').setAttribute('content','initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no');
  
  2.動(dòng)態(tài)設(shè)置font-size
  
  document.documentElement.style.fontSize =document.documentElement.clientWidth / 10 + 'px'; (3)布局的時(shí)候,各元素的css尺寸=設(shè)計(jì)稿標(biāo)注尺寸/設(shè)計(jì)稿橫向分辨率/10 (4)font-size可能需要額外的媒介查詢,并且font-size不使用rem,這一點(diǎn)跟網(wǎng)易是一樣的。
  
  備注:你也可以通過阿里的現(xiàn)成的解決方案去實(shí)現(xiàn),然后在預(yù)處理器中去處理px單位的字號(hào)<script src="
http://g.tbcdn.cn/mtb/lib-flexible/{{version}}/??flexible_css.js,flexible.js"
  
  以上就是尚武科技為大家?guī)淼年P(guān)于石家莊網(wǎng)站開發(fā)中常見的rem布局的相關(guān)介紹,希望能夠幫助大家,在日后的開發(fā)中幫助到大家。

聯(lián)系尚武科技
客戶服務(wù)
石家莊APP開發(fā)
400-666-4864
為您提供售前購(gòu)買咨詢、解決方案推薦等1V1服務(wù)!
技術(shù)支持及售后
石家莊APP開發(fā)公司
0311-83796180
為您提供從產(chǎn)品到服務(wù)的全面技術(shù)支持 !
客戶服務(wù)
石家莊小程序開發(fā)
石家莊小程序開發(fā)公司
加我企業(yè)微信
為您提供售前購(gòu)買咨詢、
解決方案推薦等1V1服務(wù)!
石家莊網(wǎng)站建設(shè)公司
咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系。
石家莊網(wǎng)站制作
在線聯(lián)系:
石家莊Web開發(fā)
石家莊軟件開發(fā)
石家莊軟件開發(fā)公司
ADD/地址:
河北·石家莊
新華區(qū)西三莊大街86號(hào)河北互聯(lián)網(wǎng)大廈B座二層
Copyright ? 2008-2025尚武科技 保留所有權(quán)利。 冀ICP備12011207號(hào)-2 石家莊網(wǎng)站開發(fā)冀公網(wǎng)安備 13010502001294號(hào)《互聯(lián)網(wǎng)平臺(tái)公約協(xié)議》
Copyright ? 2025 www.zyshhgqdsbxx.com, Inc. All rights reserved