Ⅰ 大前端和小前端的區別
1、展示端范圍不同。
小前端就是 Web 前端。大前端包括一切負責展示的端,包括 Web 前端、PC、移動和 VR。
2、工作范圍不同。
小前端負責從瀏覽器端到web伺服器端的所有開發,從後台工程師那邊調用數據api。
而大前端工作還額外包含客戶端業務邏輯(瀏覽器上的html,css,javascript),伺服器端業務邏輯(nodejs),nodejs提供了js服務端編程,使js與演算法結合,js開發的大量應用功能頁面的兼容問題出現;對接訪問數據中間層。
(1)手淘北京前端擴展閱讀
前端核心技術:HTML、CSS、JavaScript
這三個是前端開發中最基本也是最必須的三個技能。前端的開發中,在頁面的布局時, HTML將元素進行定義,CSS對展示的元素進行定位,再通過JavaScript實現相應的效果和交互。
HTML
指的是超文本標記語言 (Hyper Text Markup Language),這個也是我們網頁最常用普通的語言了,經歷了多個版本的發展,已經發展到5.0版了,得力於W3C建立的標准和規范,已普遍升級到了XHTML。
CSS
級聯樣式表(Cascading Style Sheet)簡稱「CSS」,通常又稱為「風格樣式表(Style Sheet)」,它是用來進行網頁風格設計的。通過設立樣式表,可以統一地控制HTML中各標志的顯示屬性。級聯樣式表可以使人更能有效地控制網頁外觀。
JavaScript
是一種由Netscape的LiveScript發展而來的原型化繼承的面向對象的動態類型的區分大小寫的客戶端腳本語言,主要目的是為了解決伺服器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。
Ⅱ 手淘旺信流量來自哪裡
問題一:手淘無線端流量來源怎麼查 你用手機進首頁,搜索下愛逛街。這個愛逛街屬於一個新興的U站。這種U站現在並不會去招商,所以基本沒辦法做針對性的推廣。這種U站現在就是隨機抓取一些產品整體評價方面比較好的掛上去。他們不收費,所以沒法主動的進行推廣。同樣他們自己也是為了做一個反向的推廣。能做的就是保持產品的各方面數據,等他們有一定規模後應該也會招商的。到時候再洽談
問題二:旺信是什麼意思嗎 這是一款手機通信軟體,和微信有一些相類似。 它主要支持發送語音、圖片、文字,基於LBS的交友,這些功能和微信都有點信,不同地方是:旺信同時能與阿里
問題三:如何讓買家從手淘旺信看到我的寶貝 你是淘寶賣家?
問題四:詳解淘寶流量都有哪些來源 淘寶系官方主要通過生意參謀來統計各類流量的來源;主要分為三大類:
一、無線APP流量來源
二、無線流量來源
三、PC流量來源
今天我們先講一下當下非常火熱的無線APP流量來源,及其細分類別
無線APP流量來源其下又細分出:天貓APP、淘寶APP、聚劃算APP、一淘APP、無線WAP、無線APP其它,這6大類
1、天貓APP
付費
淘寶客如果一個商品設置了淘寶客傭金,在天貓APP中通過淘寶客的站外聯盟、站內的專場活動等,獲得的流量,記為淘寶客來源的流量。
聚劃算通過天貓APP點擊首頁的聚劃算,訪問店鋪和寶貝。
鑽石展位天貓APP中的鑽石展位廣告投放訪問。
免費
天貓搜索天貓APP中,通過搜索,輸入關鍵詞後,從搜索結果頁中點擊進入店鋪或寶貝詳情頁。
天貓活動在天貓APP中,通過首頁banner的相關活動進入店鋪或寶貝詳情頁。
導購頻道天貓APP中,通過點擊天貓頭條、心水、瞄一眼、喵鮮生方式進入店鋪或寶貝詳情頁。
天貓APP免費其他1、通過淘外APP訪問天貓APP,由於目前尚未有相關數據記錄,所以無法識別來源,暫時歸入為天貓APP的其它;2、在天貓APP中,其它未區分出來源的,均歸屬於天貓APP其它。
自主訪問
我天貓app中,點擊我,通過待付款、待發貨、待收貨、待評價、所有訂單、商品收藏、店鋪收藏、退款售後、我的足跡或我的優惠券等進入店鋪或寶貝詳情頁。
關注通過天貓APP中的關注,點擊關注頁面內容進入店鋪和寶貝詳情頁,如果公共賬號的關注內容中,有本店相關的商品,買家點擊後進入店鋪,也記為關注帶來的訪客數。
購物車訪客通過天貓APP的關注渠道進入您店鋪。
2、淘寶APP
付費
淘寶客
如果一個商品設置了淘寶客傭金,在淘寶APP中通過淘寶客的站外聯盟、站內的專場活動等,獲得的流量,記為淘寶客來源的流量。
直通車
淘寶APP中的直通車廣告投放訪問,既包括搜索,也包括直通車商品搭建的各類活動。
聚劃算
通過淘寶APP中點擊首頁的聚劃算,訪問店鋪和寶貝。
鑽石展位
淘寶APP中的鑽石展位廣告投放訪問。
麻吉寶
訪客通過麻吉寶產品點擊進入您店鋪頁面或商品詳情頁,如從手機淘寶每日贏寶箱、支付寶服務窗「麻吉寶」、旺信個人中心「賺集分寶」等入口。
免費
淘寶活動
包括:淘寶APP中,在首頁等一系列淘寶無線端的活動頁面進入,活動包括如首頁的逛店鋪、精選活動、白菜價等;
特別說明,如果已經投放了付費廣告,比如通過鑽展展現在淘寶首頁,那麼來源記為鑽石展位,而不是淘寶活動。即大原則中的付費優先原則。
淘寶首頁-感興趣
從手機淘寶首頁如您可能感興趣的寶貝區域點擊進入店鋪或商品詳情頁。
手淘天貓國際
訪客通過手淘客戶端的天貓國際的產品進入您店鋪頁面或商品詳情頁,如首頁的特色市場中的天貓國際等入口。
手淘淘小鋪
訪客通過手淘客戶端的淘小鋪的產品進入您店鋪頁面或商品詳情頁,如從我的淘寶->我是賣家等入口。
手淘首頁
訪客通過手淘客戶端的首頁產品,除廣告banner位,每日好店產品,其他可以直接進入您店鋪頁面或商品詳情頁的入口,如猜您喜歡入口。
手淘淘生活
訪客通過手淘客戶端的淘生活的產品點擊進入您店鋪頁面或商品詳情頁,注意淘生活包含有多個入口,如從首頁->淘生活的入口。
手淘搜索
訪客通過手淘客戶端的淘寶搜索進入您店鋪頁面或商品詳情頁。
手淘淘搶購
訪客通過手淘客戶端的淘搶購的產品點擊進入您店鋪頁面或商品詳情頁,注意淘搶購產品包含有多個入口,如從首頁->淘搶購頻道。
手淘有好貨
訪客通過手淘客戶端的......>>
問題五:淘寶網裡面的旺信手用來干什麼的 就和電腦里阿里旺旺一樣的,是買東西的時候和賣家聊天用的,只是名稱不同罷了
問題六:旺信號是旺信 淘寶號是淘寶么? 旺信只是一個軟體,就是手機旺旺的意思,淘寶號在電腦就是登陸旺旺,在手機也是用那個號登陸,手機還有賣家版,叫千牛
問題七:手機旺信怎麼用的?為什麼我手裡進淘寶,點擊和我聯系,用的還是淘寶客戶端裡面的網頁旺旺, 30分 你好,你的問題來錯地方了,這里是收藏古董的版塊,不是你找的地方!希望沒有耽誤你的事情!
問題八:我很想知道,淘寶或旺信經常發一些信息來問收購二手內衣或 *** ,他們收購這些到底有啥用?穿過的或者爛的 原、味、絲、襪 可以賣給戀物癖幾十甚至上百
問題九:我在淘寶新手開店做代理不久,被騙了。因為不懂也,太信旺信發的圖片,打開連接錢沒了,是北京匯元網科技 這么傷心,圖片上會有鏈接嗎,我最近也被騙,憤憤不平的,也是淘寶代理商
Ⅲ app淘寶網是手機淘寶的意思嗎
是,淘寶天貓這樣的超大型app,完全用native是很難的,也是不現實的,業務邏輯太復雜,目前天貓是20%
native
+70
h5,search,detail,范兒,還有我所在的交易鏈路(購物車+下單)是完全native化的,其他的都是webview
1)h5的優勢在於隨時發布,無需修改native代碼,滿足了業務靈活配置的需求。webview作為移動端h5容器,在手機客戶端顯得尤為重要
淘寶天貓的webview已經高度模塊化,各個業務模塊之間高度解耦,為此也做了很多的優化,比如:
1)剝離webview邏輯,拆分webview為單獨模塊。
2)去掉phonegap,改用自定義簡化框架。
3)統一提供對外調用介面,介面粒度細分多個維度,提供activity,webview等層級介面,滿足各種業務方需求。
4)融合手淘windvane,既支持天貓特有的h5邏輯,又提供跨bu前端h5統一方案。
Ⅳ 結合淘寶網平台上的具體店鋪分析電子商務日常運營管理工作應該如何進行
作為一個合格的SOP每天要做的主要工作內容包括以下幾點:
旺旺分流(登錄店鋪千牛主旺旺、登錄店小蜜、未接待客戶分流至客服)
違規檢查(登錄店鋪後台、登錄體檢中心 、檢查是否有違規行為)
退款查看(登錄售後退款處理界面、查看是否有臨期退款、查看是否有異常退款)
發貨查看(登錄後台訂單管理頁面、檢查是否有上日16點之前未發貨訂單)
數據統計填寫(統計店鋪銷售、利潤數據、統計寶貝銷售、流量、轉化數據)
市場行情分析(登錄生意參謀查看市場行情走勢、查看競品競店趨勢、分析市場機會)
直通車調整優化(登錄直通車後台、查看直通車報表數據、分析直通車需要優化的點)
訂單情況查看(登錄旺店通/店鋪後台、檢查異常訂單如財審訂單、缺貨訂單、處理好異常訂單)
庫存情況查看(登錄旺店通、檢查商品庫存情況、檢查贈品庫存情況、查看寶貝設置庫存情況)
寶貝鏈接查看(登錄店鋪首頁、檢查寶貝評價、關注寶貝數據變化)
競爭對手觀察(登錄生意參謀競爭頁面、關注競爭對手的數據:轉化、訪客、銷售等、關注競爭店鋪的變化)
營銷活動報名(登錄營銷活動平台、報名活動:含淘搶購、自運營、天天特價、聚劃算、報名官方類目活動/大促活動)
基礎設置檢查(檢查基礎價格折扣設置、主圖和詳情頁是否齊全檢查、限購、優惠券等設置檢查)
定期發布微淘(登錄微淘頁面、發布微淘)
定期進行直播(登錄直播頁面、設置發布直播)
Ⅳ 前端基礎:viewports理解、頁面各種寬度理解
關於viewports以前一直都是知道個大概但是一直沒有詳細去了解,加上最近在項目中遇到了比較近點的1像素問題,就乘著這個機會再加深一下印象回顧一下基礎。
screen.width/height
含義:用戶的屏幕的完整大小。
度量:設備的pixels。
意思就是用戶屏幕的物理寬度,它們的值不會隨著用戶的縮放而改變:它們是顯示器的特徵,而不是瀏覽器的特徵。換句話說是屏幕出廠的時候就決定了的
window.innerWidth/Height
含義:包含滾動條尺寸的瀏覽器完整尺寸
度量:CSS的pixels
document.documentElement.clientWidth/Height
含義:viewport尺寸:瀏覽器窗口尺寸。
度量:CSS的pixels
隨瀏覽器大小變化而變化,但寬度不包含滾動條寬度。具體請看圖一比較兩者的差別。
viewport的功能在於控制你網站的最高塊狀(block)容器:<html>元素。怎麼理解這句話呢?
假設定義了一個可變尺寸的布局(liquid layout),且你定義一個側邊欄的寬度為width: 10%。當你改變瀏覽器窗口大小時,該側邊欄會自動擴張和收縮。這是什麼原理呢?
技術上講,原理是側邊欄的寬度為它父元素寬度的10%,我們設它的父元素是body,且你未指定寬度。那麼問題就變為了<body>的寬度到底是多少?
通常,一個塊級元素佔有起父元素的100%的寬度(這里有異常情況,暫時忽略)。所以<body>的寬度就是其父元素<html>的寬度。
那麼<html>元素到底有多寬?
<html>的寬度受viewport所限制,<html>元素為viewport寬度的100%。,因為它的寬度恰好為瀏覽器的寬度。所以你的側邊欄寬度width: 10%會佔用10%的瀏覽器寬度。
反過來,viewport是嚴格的等於瀏覽器的窗口:定義就是如此。viewport不是一個HTML的概念,所以你不能通過CSS修改它。它就是等於瀏覽器窗口的寬度高度 –—— 在桌面瀏覽器上如此,移動設備瀏覽器上有點復雜。
注意:當我們設置html上面手動的設置了寬度,在那種情況下document. documentElement. clientWidth/Height依然給出了viewport的尺寸,而不是<html>元素。
比如 我手動設置html的樣式為
html {width:2000px;height: 2000px;}
通過document. documentElement. clientWidth/Height 獲取到的值只會是viewport的大小,而不是html元素的大小 2000px;
所以document. documentElement. clientWidth/Height只會給出viewport的尺寸,而不管<html>元素尺寸如何改變。
document. documentElement. offsetWidth/Height
含義:<html>的尺寸
度量:CSS的pixels
如果clientWidth/Height一直用以標示viewport的尺寸,我們該如何去獲取<html>元素的尺寸呢?通過document.doucmentElement.offsetWidth/Height來獲取html的寬度。
像上面的那個例子,這個就會返回2000px;
含義:頁面的移位
度量:CSS的pixels
window.pageXOffset 和 window.pageYOffset,定義了頁面(document)的相對於窗口原點的水平、垂直位移。因此你能夠定位用戶滾動了多少的滾動條距離.
對應viewport我們現在普遍理解為兩種視圖:
1.visualviewport:window.innerWidth/Height定義 包含滾動條
2. layoutviewport: document.documentElement.clientWidth/Height 不包含滾動條
在理解這兩種viewport之前,我們先認識理解這幾個名詞的意思:首先我們要記住: 1 px 就一個像素點
iphone 默認viewport 是980
vw:是Viewport's width的簡寫,1vw等於window.innerWidth的1%
vh:和vw類似,是Viewport's height的簡寫,1vh等於window.innerHeihgt的1%
vmin:vmin的值是當前vw和vh中較小的值
vmax:vmax的值是當前vw和vh中較大的值
1. 像素密度 :每英寸可以顯示的像素點的數量,像素密度越大,表示在同樣的尺寸裡面,像素點越多
比如:iphone 3 的屏幕像素是320x480,iphone4s的屏幕像素是640x960,剛好兩倍,然而兩款手機都是3.5英寸的。
1英寸是一個固定長度,等於2.54cm。 像素密度越高,代表屏幕顯示效果越精細。 Retina屏比普通屏清晰很多,就是因為它的像素密度高。
2.像素: 可以分為物理像素和CSS像素
物理像素(device independent pixels ): 物理像素也叫設備像素,任何設備的物理像素是固定不變的。比如我的筆記本的解析度是1366 * 765,表示的就是寬度上最多容納1366個物理像素點,高度上最多容納765個物理像素點
CSS像素(CSS pixels ):CSS像素也叫邏輯像素,是為web開發創造的。通常情況下,在桌面端,CSS像素的大小和設備像素的大小是相等的,即一個CSS像素完全覆蓋了一個設備像素。如下圖
但是在手機端,我們都知道網頁可以通過手指進行縮放,這時候CSS像素也會改變
縮小操作 :當用戶進行縮小操作時,一個物理像素覆蓋了多個CSS像素。圖中深藍色表示物理像素,半透明的淺藍色表示CSS像素
當用戶進行放大操作時,一個CSS像素覆蓋了多個物理像素 : 這里的一個css像素就不在等於一個物理像素了。當縮小兩倍的時候,兩個css像素相當於一個物理像素。
DPR
DPR(devicePixelRatio)指的是設備像素比,即網頁在不進行縮放使,設備像素和CSS像素的比值
DPR = 設備像素 / CSS像素(某一方向上)
從iphone4開始,蘋果公司推出了retina視網膜屏幕,這種技術在屏幕大小不變的情況下,屏幕像素密度提高了一倍,解析度自然也提高了一倍,於是DPR等於2
通過JS的screen.width和screen.height屬性,可以獲取屏幕的CSS像素
通過JS的window.devicePixelRatio屬性,可以獲取屏幕的DPR值
以iphoneX為例,css像素(設備獨立像素)為375px * 812px,DPR是3,可以計算出設備像素(物理像素)是1125px * 2436px
屏幕解析度
屏幕解析度就是設備像素,一般以縱向像素 * 橫向像素來表示解析度。比如iphoneX的設備像素是1125px * 2436px,解析度也就是1125px * 2436px
在不同的屏幕上,CSS像素所呈現的物理尺寸是一致的,而不同的是CSS像素所對應的物理像素具數是不一致的。在普通屏幕下1個CSS像素對應1個物理像素,而在Retina屏幕下,1個CSS像素對應的卻是4個物理像素(某一方向上相當於1個css像素對應2個物理像素。)。
比如:
在普通屏中 我設置一個div的樣式 width:100px ( 100px=100個物理像素。) ,當我將這個樣式放在了Retina的屏幕(dpr=2)上的時候,發現變的更加清晰了。這是我們由於兩個屏幕的像素密度不一樣的結果,後者的像素密度是前者的兩倍,所以在100px的css像素中的距離裡面就存在了200個物理像素。但是兩個展現的效果是一樣的(CSS像素所呈現的物理尺寸是一致的。),只是裡面的像素點的數量不同。
同時:visualviewport還是顯示100px 但是對於layoutviewport來說就相當於200px。 因為layoutviewport表示的是物理像素。
但是對於圖片來說:
在普通屏幕下,1個點陣圖像素對應著1個物理像素,圖片可以完美的顯示。可是在retina屏幕下,1個點陣圖像素對應著4個物理像素,由於點陣圖像素不可以再分割,所以圖片就會只能就進取色,導致圖片模糊。
如何來處理這個問題呢。比如一個200 x 300的圖片,如果想在retina屏幕上清晰顯示的話,就要提供一個400 x 600的2倍圖片(@2x),這樣的話,1個點陣圖像素就會對應上retina屏上的1個物理像素。圖片就不會模糊啦。
說明:retina屏是一種具備超高像素密度的液晶屏,同樣大小的屏幕上顯示的像素點由1個變為多個,如在同樣帶下的屏幕上,蘋果設備的retina顯示屏中,像素點1個變為4個。
在高清顯示屏中的點陣圖被放大,圖片會變得模糊,因此移動端的視覺稿通常會設計為傳統PC的2倍。那麼,前端的應對方案是:設計稿切出來的圖片長寬保證為偶數,並使用backgroud-size把圖片縮小為原來的1/2
//例如圖片寬高為:200px*200px,那麼寫法如下
.css{width:100px;height:100px;background-size:100px 100px;}
//其它元素的取值為原來的1/2,例如視覺稿40px的字體,使用樣式的寫法為20px
.css{font-size:20px}
initial-scale這個縮放初始值是相對於設備的idea viewport的值進行縮放的,也就是說
<meta name="viewport" content="initial-scale=1">
//等效於
<meta name="viewport" content="width=devive-width"
//兩者各有一個bug,所以生產時最好將兩個一起寫上
但如果同時出現width和initial-scale
<meta name="viewport" content="width=500, initial-scale=1">
並不是根據先後順序比較,而是通過誰大取誰,比如設備是iphone5,idea viewport是320px,則此時initial-scale=1(320px),所以此時viewport取width=500
關於initial-scale縮放的默認值以及其理論
visual viewport寬度 = idea viewport寬度 / 當前設置的縮放值
當前縮放值 = idea viewport寬度 / visual viewport寬度
註:這個理論不適合安卓原生瀏覽器
參考文章:
再聊移動端頁面的適配: https://www.w3cplus.com/css/vw-for-layout.html 閱讀碼:475709
使用Flexible實現手淘H5頁面的終端適配: https://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.htm l 閱讀碼:487741
viewports剖析 https://www.w3cplus.com/css/viewports.html
移動web開發-理解設備像素、CSS像素、DPR - 羊先生
解惑好文:移動端H5頁面高清多屏適配方案 - CocoaChina_一站式開發者成長社區
Ⅵ 前端面試題,移動端兼容問題有哪些,安卓和ios問題
那麼進入正文,不廢話,直接把自己了解到的和一些看法說出來。
首先是屏幕問題,現在主流的移動設備以安卓和IOS為主,我們在製作移動端頁面也是以兼容這兩種設備去布局。
首先說iPhone,不得不說iPhone的屏幕考慮到了我們開發者的難處,從而給出iPhone屏幕的dpr都是整數值,在6plus出現之前,iphone的dpr始終是2(物理像素/邏輯像素=2),即使是6plus出現了,iphone到底其實也就只有2,3這兩個dpr。其實6plus的實際dpr並不是整數,而是2.87左右,不過,為了方便開發者來開發,iphone6plus對其做了一個調整,將dpr調整為3,然後在對屏幕進行了一個縮放。所以我們很容易對其做到兼顧。
而安卓的dpr值,並不像iphone那樣就只有兩個值。安卓的dpr是千奇百怪的,可能是1.5,2,3,4,2.5等等的都有。(甚至我還看到了1.7之類的,安卓的各個設備商,玩的真尼瑪high啊。怎麼高興怎麼來。)
那麼現在開始說說移動端怎麼布局以及字體該怎麼設置,因為有各種各樣的解決方式,我就不一一贅述,直接說手淘的解決方案:flexible.js
我為什麼又一次把這個拿出來說,主要有兩點原因:1.我覺得它好用,解決方式簡單粗暴。2.它經過了比較長時間的考驗,如今手淘還在用它。
具體的使用方法自己可以去flexible.js看看,這里我簡單說說它的方案以及個人對它的改良。
Ⅶ 前端如何實現視覺設計稿
在這篇文章中將和大家探討一下關於前端在移動端開發如何去實現視覺設計稿。探討過後,在大家的實際工作中或許能幫助解決一些問題。
一般設計稿是 640px 或者 750px (現在最流行),但是 iPhone 5 不是 320px 寬嗎,iPhone 6 不是 375px 寬嗎?
這里需要理解一下基礎概念: 設備像素 (device pixel), CSS 像素 (css pixel)以及 設備像素比 (device pixel ratio)。
垂直手機屏幕下,使用 <meta name="viewport" content="width=device-width"/> ,iPhone 5 屏幕物理像素 640 像素,獨立像素還是 320 像素,因此, window.devicePixelRatio 等於 2。
比如 iPhone 5,6 使用的是 Retina 視網膜屏幕(2 倍屏),6 Plus 是 3 倍屏,使用 2px × 2px 的 device pixel 代表 1px × 1px 的 css pixel,所以設備像素數為 640 × 1136px (5), 750 × 1134 (6),而 CSS 邏輯像素數為 320 x 568px (5), 375 × 667 (6);5,6 的 window.devicePixelRatio=2,6 Plus 為 3。
H5 適配:rem 方案
rem:是 CSS3 新增的一個相對單位,相對於 html 標簽的 font-size 的大小為基礎的。而 font-size 的大小可以動態根據手機屏幕寬度document.documentElement.clientWidth 來設置,從而達到自適應屏幕的目的。
我這里找了一下 小米 , 網易 , 拉勾網 , 手淘 以及糯米,大同小異。
設計稿是 720px 的,即 5 英寸屏幕的安卓手機(720 x 1280px)。
對於頁面縮放和橫豎屏事件進行監聽,改變 html 根元素字體 clientWidth/720/100 。
如圖是這樣計算的 375/(720/100) = 52.0833
iPhone 6 : 375/7.5=50 , 則知道設計稿應該是基於 iPhone 6 來的,所以它的設計稿豎直放時的橫向解析度為 750px,為了計算方便,取一個 100px 的 font-size 為參照,那麼 body 元素的寬度就可以設置為 width: 7.5rem ,於是 html 的 font-size=deviceWidth / 7.5 。布局時,設計圖標注的尺寸除以 100 得到 css 中的尺寸。並且布局中的 font-size 也可用 rem 單位。
設置html根元素字體為 65.5% ,對應px單位則為 10.48px ,則列表裡時間信息字體設置為 1rem = 10.48px ,chrome在 -webkit-text-size-adjust: 100%; 情況下小於 12px 的一律顯示為 12px 。
拉勾網頁面列表部分是 px 為單位,字體是 rem ,底部bar是使用 百分百 來控制寬高間距。
之前網上討論的比較多的是
則 1em = 16px * 62.5% = 10px ,em 的初始值為 1em = 16px ,而為了方便計算, 換算一下 10 / 16 (16px 是 Chrome 瀏覽器默認字體大小)。缺點是進行任何元素設置,都有可能需要知道他父元素的大小,比較繁瑣低效。
(1)動態設置 viewport的scale
(2)動態計算 html 的 font-size
(3)布局的時候,各元素的 css 尺寸 = 設計稿標注尺寸/設計稿橫向解析度/10
設計稿是 750 的,所以 html 的 font-size 就是 75,如果某個元素是 150px的寬,換算成 rem 就是 150 / 75 = 2rem。
整個手淘設計師和前端開發的適配協作基本思路是:
手淘推出了一套移動端適配的方案—— Flexible 方案 。
總結來說:
設計稿是 750 的。
優點:簡單粗暴,所有 css 尺寸均為設計稿尺寸直接除 2,開發快速簡單;
缺點:可能出現一排放不下的情況,需要針對小屏幕如 5 及以下做單獨適配
vw 相對於視窗的寬度:視窗寬度是 100vw 。
如果視區寬度是 100vm, 則 1vm 是視區寬度的 1/100, 也就是 1%,類似於 width: 1%。
那 iPhone 6 來說, document.documentElement.clientWidth=375 , 則豆腐塊寬度為 375/100*30=112.5px
混合: rem px vw 百分百等單位混用
略,同上糯米WAP
這里假設設計稿 640px,則設置根元素 font-size 為 4.375vw,根據屏幕寬度自適應,在視窗寬度為 320px 的時候,正好是 14px (14 / 320 = 0.04375)。 達到頁面默認字體大小 14px 的目的(其他大小也 ok)。好了,現在頁面上所有以 rem 為單位的屬性值都會隨著屏幕的寬度變化而變化,達到自適應的目的。( 自適應不用 js 動態設置根元素大小 )
在移動端頁面開發中,視覺童鞋一般會用 750px(iPhone 6)來出設計稿,然後要求 FE 童鞋能夠做到頁面是自適應屏幕的,這種情況下就可以用 rem 或者 vm 等相對單位來做適配,愉快和視覺童鞋一起玩耍啦。
內容轉自: 大專欄
Ⅷ 極客時間優惠口令哪裡搞
極客時間優惠口令在極客活動入口搞,印象中這個專欄上線不到 1 個月,就有 1.5W+ 訂閱了。用四個字概括這個專欄,我覺得是:高屋建瓴——既有架構觀,也有方法論,結合老許 20 年的經驗沉澱,可以說是始於架構,又高於架構。老許是個傳奇人物啊,畢業 2 年就成為 WPS 的首席架構師,創建七牛雲後,他親自架構設計,編寫了大量核心代碼。所謂「帶你重新理解架構設計」,這話可不止說說而已。很多前端開發工程師的知識,都來自工作中的學習,基礎不牢、認知不清、架構零散限制了前端人的發展。前阿裏手淘前端負責人winter將在《重學前端》中幫助你以完備、體系化的方式搭建前端的知識架構,目前已經有3w+用戶和winter一起重構前端。關於中台,大家可能會覺得它只是大公司的專利,實際上,任何一家面臨著業務高速擴張與增長的公司,都需要思考清楚自己的核心競爭力是什麼以及搭建屬於自身的中台系統,才能保證自己在「青春期」不會因為快速增長而營養供應不足。可以預測,中台是未來企業主要的發力方向。為此,每個有夢想的人都需要做好准備。