1. 前端CSS適配解析度問題
經測試,代碼本身是沒問題的。我的電腦連接了兩台顯示器,一台是1920*1080的,一台是1440*900的,我用下面的代碼:
@media screen and (max-device-width:1440px) and (max-device-height:900px)
在我的小顯示器中有響應,大顯示器則無響應。
2. 前端解析度適配
現在手機屏大小不一,而且屏幕硬體性能也各不相同,一般的UI設計都是基於特定機型畫設計搞件的,常見的是基於iPhone6的解析度設計2倍圖,以iPhone6為例,屏幕物理像素寬度是750,網頁寬度為375PX。開發中還要根據不同手機留出設計餘量,因為不同解析度的手機顯示時會有拉伸位移。
網上也有一些方案,處理高清屏適配方案,但一般也只把DPR適配到2,彩用所有長度單位放大2位,網頁整體縮放50%的的做法,比如ant-mobile就支持這種方式,它可以定義一個less常量「@hd」來定義CSS中使用的基礎單位大小,但是這種方式在遇到網頁實際寬度大於375的設備時,還是不能1:1的還源UI設計稿。
我個人在項目中採用的是更復雜的實現方式,可以實現適配DPR大於2的手機屏,並接近100%的還源UI設計稿。具體的適配技術各家大同小異,這里不再細說,我只給出我自己的適配方案。
同大多數適配方法一樣,通過 rem 設計一個基礎的大小單位 ,做為整個頁面的基礎單位,再根據屏幕物理DPR結合屏寬計算這個單位的大小,
基礎單位 = 屏幕DPR * 網頁寬度 / 375(設計稿基準為375)
網頁縮放值 = 1 / 屏幕DPR
比如我的方案是把rem設為10px 再乘以「基礎單位」,這樣在設置一個設計稿上14號字的時候,就寫 1.4rem就可以了。另外編寫頁面布局時,也用這個計算出來的相對單位,這樣可以做到不管什麼樣的屏幕,UI設計搞都不會因寬度變化而變形。另外,如果使用ant-mobile這樣的支持高清方案的UI中間件,直接在配置中把它的LESS常量 「@hd」設置 為 「0.1rem」就可以了。
另外還有一個小的福利,就是在這個方案下,當你想畫出「1物理像素」的細邊框時,直接用 「1px」,就可以了,因為在這個方案下,1px對應的是一個物理像素。
下面給出我實踐中使用的適配代碼:(這是直接放在HTML文件中的版本)
//計算屏幕比例並設置html的font-size
/**
將html字型大小設置為10個設計像素(一個基準系數,即rem為10 設計稿像素)
設計一個縮放系數,以應對可能出現的適配高清屏要求
*/
( function () {
/**初始化方法
* _standard 設計稿對應的解析度
* base_DPR 設定最小DPR值
*/
function setInitialRem( _standard, base_DPR) {
//取得當前設備DPR
var dpr = window. devicePixelRatio || 1;
//如果設定了默認最小DPR值
if ( base_DPR) {
dpr = dpr >= base_DPR ? dpr : base_DPR;
}
//設定縮放視圖比例
var scale = 1 / dpr;
//設直視圖縮放比例
document. head. querySelector( 'meta[name="viewport"]'). content = "width=device-width,initial-scale=" + scale + ",minimum-scale=" + scale + ",maximum-scale=" + scale + ",user-scalable=no, shrink-to-fit=no";
//取得當前設備寬度
var device_width = document. documentElement. clientWidth; //window.innerWidth;
//標定原稿設計基準值 當前稿件設計寬度為 iPhone6/6s 375像素
var standard_width = _standard * dpr;
//設定基準單位
var base_value = 10;
//基準系數=設備寬度➗稿件基準寬度✖️設備DPR✖️10
var rem = device_width / standard_width * dpr * base_value;
//設置 REM
document. documentElement. style. fontSize = rem + "px";
}
window. addEventListener( "resize", function () { setInitialRem( 375, 1); });
setInitialRem( 375, 1);
})();
3. 前端一套代碼實現多端適配 有哪些方案
Taro 是京東開源的一套遵循 React 語法規范的多端開發解決方案。通過它,我們只需要書寫一次代碼,就可以編譯出在不同端(微信 / 網路 / 支付寶小程序、H5、React-Native 等)都能運行的代碼。如果你接觸過 React-Native,那麼上手 Taro 將會非常方便。
4. 前端適配
通過查看不同設備的解析度,就使用不同的方案,bootstrap用的就是這種適配
優點:pc移動端都能適配。
缺點:區間之內不能適配,且pc移動共用一套不好管理
不需要適配的地方用px,需要適配的地方用該方案
flex布局(彈性布局),可以按比例分配,vw和%是按設備大小分配
rem相對於root 的 font-size適配大小,因此通過改變root 的 font-size改變全局適配大小,
設計稿規定設備width=750px時,字體大小為30px
先將html:{font-size:30px}
如果一容器需要width=90px;就設置width=3rem
然後監聽設備寬度變換
先根據設計稿設計好固定寬高,然後根據設備寬高算出縮放比例進行縮放
5. web前端怎麼做適配
固定一個某些寬度,使用一個模式,加上少許的媒體查詢方案
使用flexbox解決方案
使用百分比加媒體查詢
使用rem
6. 前端技術,屏幕適配技術怎麼做
屏幕適配有兩種方法:
1.把頁面做成100%自動,頁面隨屏幕的大小而變化,屏幕多大頁面多大。
2.通過媒體查詢來判斷屏幕的大小,根據不同大小的屏幕載入不同樣式。
7. 前端開發中,在做pc端的全屏頁面時,怎樣進行適配
不太明白你要做到什麼效果,如果是覆蓋電腦整屏的遮罩的話是這樣的
.y{
top: 0;
left: 0;
width: 100%;
height: 100%;
position: fixed;
background-color:rgba(0,0,0,.3) ;
}
8. 前端屏幕適配縮放全屏
前端屏幕適配縮放全屏步驟如下:
1、打開一個網頁,在網頁的右上方找到一個查看選項。
2、點擊查看選項,下面出現一個下拉菜單,找到網頁縮放選項。
3、把滑鼠移動到網頁縮放選項上,自動彈出一個列表菜單,裡面就是縮放的比例,只要選擇默認也就是100%就OK了,網頁就能滿屏適應電腦界面了。
9. 前端怎麼做iphonex的適配
ios8中可以使用一套UI就可以適配所有的尺寸,包含各尺寸的iphone及ipad。用到的技術是AutoLayout+sizeclass但在未推出自動布局autolayout之前的ios版本,就需要多套UI來適配iphone,ipad了。
10. 零基礎小白想學前端如何開始
前端從入門到精通要經歷哪些階段?下面,就給大家分享一下。
1、PC端頁面製作與動畫特效
學習HTML+CSS搭建網頁、CSS動畫特效、PhotoShop切圖等基礎知識,獲得初級Web前端工程師技能,主要進行PC端網頁製作與樣式設計實現,能夠配合UI設計師進行項目開發。
2、移動端頁面製作與響應式實現
講解移動端布局與設備適配、響應式設計與實現等,獲得移動端頁面適配工程師技能,主要進行移動端網頁的布局製作與樣式設計實現。可以適配各種手機尺寸,並能利用響應式進行移動端與PC端適配。
3、JavaScript與jQuery開發
同HTML5基礎知識一樣,JavaScript開發與jQuery開發是職業晉升必備的技能包,獲得中級Web開發工程師技能,主要進行頁面行為交互,實現網站常見特效,加輪播圖,選項卡,拖拽效果等,並能配合UI和後端進行項目開發。
4、HTML5高級框架技術開發
常用的Vue框架開發,React框架開發,Angular框架開發,數據可視化技術。可獲得中級Web前端工程師技能,主要適用框架開發企業項目,實現單頁面應用開發。可以完成復雜的數據交互應用場景,具備獨立開發項目能力。
5、全棧前後端技術開發
Node.JS技術,其他後端技術,如Java或PHP。可獲得高級Web前端工程師技能,主要進行前後端全棧樣式開發,能獨立完成一個中小型項目的前後台,對於網站開發有著非常熟練的編程能力。
可以從零開始,一步步的掌握前端開發的各項相關技能,最終達到企業對初級前端開發工程師、中級前端開發工程師、高級開發工程師等職位的要求。
學web前端一般在2萬左右,4-6個月左右的時間。應該根據自己的實際需求去地看一下,面授的,先好好試聽之後,再選擇適合自己的。只要努力學到真東西,前途自然不會差。