Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
HTML5自適應布局技術獨步天下的今天,table是一個不鼓勵使用的HTML標記,但現實工作中,我們避免不了的偶爾會用到它。那么,怎樣讓一個傳統的表格也表現出自適應性呢?
網上有很多種解決方案,最常見的是配合JavaScript。css-tricks里給出了一個用純CSS實現的,但它需要將一些業務數據寫在CSS里。而本文在這里將提到的一種方法也是用純CSS實現表格的自適應布局,而且CSS只負責表現,不牽涉業務邏輯和數據。
例如:
借助偽元素和自定義屬性
我們將借助偽元素 :before 和 :after 的力量。通常, 它們用顯示圖標類的內容,比如一個箭頭,提示,或文字圖案(icon)。它的另外一個神奇的功能是元素屬性值顯示到HTML內容里,content: attr(data-label),放在before/after偽元素類里。沿著這個思路,我們就能夠讓table在PC端表現成網格效果,而在小屏的手機端表現成流式布局。
我們暫以600px為小屏幕大屏幕的分界點,下面的CSS使用媒體查詢語句,在小于600px寬的屏幕上,用CSS將td上的屬性值取出來,放到內容區顯示。
@media screen and (max-width: 600px) {table td:before {content: attr(data-label);float: left;text-transform: uppercase;font-weight: bold;}}
在大屏幕上的顯示效果是這樣:
而到了手機設備上,變成了這樣:
說明:本篇《自適應布局中table元素的自適應性》的內容采自互聯網,如有侵權,請聯系我們刪除!
、 利用meta標簽
Meta標簽主要用來描述一個HTML網頁文檔的屬性,如作者、日期時間、網頁描述、關鍵詞、頁面刷新等,它的Description和Keywords屬性,可加入網站的關鍵字,讓網頁利于搜索引擎。
<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
解釋:Viewport指用戶網頁的可視區域,content中的“width”指的是虛擬窗口寬度,上面代碼意為虛擬窗口/頁面寬度初始比例為1,最小比例為1,最大比例為1,用戶不可擴展,頁面不可縮放。
以上標簽只支持一種尺寸,正確的做法是用js動態生成下面標簽,前提是要先獲取屏幕尺寸。
<script type="text/javascript">
var phoneWidth=parseInt(window.screen.width);
var phoneScale=phoneWidth/640;
var ua=navigator.userAgent;
if (/Android (d+.d+)/.test(ua)){var version=parseFloat(RegExp.);
if(version>2.3){ document.write(‘<meta name="viewport" content="width=640, minimum-scale=‘+phoneScale+‘, maximum-scale=‘+phoneScale+‘, target-densitydpi=device-dpi">‘); }
else{document.write(‘<meta name="viewport" content="width=640, target-densitydpi=device-dpi">‘); }
else { document.write(‘<meta name="viewport" content="width=640, user-scalable=no, target-densitydpi=device-dpi">‘); }
</script>
2、百分比法
CSS中的百分比中指的是相對于父元素的寬度。子元素的padding-left:50%,父元素的寬度是百,子元素的margin-top:20%,那么父元素的高是百。body默認寬度是屏幕寬度(PC中指的是瀏覽器寬度)子孫元素按百分比定位(或指定尺寸)就可以了。但這只適合布局簡單的頁面,復雜的頁面實現很困難。
3、 使用CSS3單位rem
在頁面載入開始時首先判斷window的寬度(是window的寬度($(window).width()),不是屏幕分辯率的寬度(screen.width),兩者差別請自行查閱),假設寬度為W,一個div在寬度為640px的設計稿的下的寬度為dW1,如果html的font-size為100px,那么這個div的寬度用rem表示是多少呢?
計算:div寬度dW2=dW1/100,px與rem之間換算除以100就可以,這是假定屏幕寬度為640的,而不同寬度的屏幕怎么處理,為了能保證換算容易那就要為html設置一個合適的font-size,計算:100 / 640=fontSize / W, fontSize=W / 640 * 100=W / 6.4。大多數瀏覽器font-size的最小值為12px,所以只能用100作為縮放比例。
所以會在頭部加上這個JS代碼:
<script type="text/javascript">
var html=document.querySelector(‘html‘);
var rem=html.offsetWidth / 6.4;
html.style.fontSize=rem + "px";
</script>
4、 媒體查詢
媒體查詢正是為解決網頁適應手機屏幕。媒體查詢的功能就是為不同的“媒體”設置不同的css樣式,頁面尺寸,設備屏幕尺寸等,比如我們要為寬度小于480px的頁面中的class="icon"的元素設置樣式,可以這樣寫,@media screen and (max-width=480px) {.icon{ some styles }};具體可自行研究。
以上幾種方法,僅供大家參考。如有不妥,歡迎指正。制作自適應頁面需要比較好的編程基礎和技術覺悟,一般的小白,不建議大家為了做自適應網頁專門學習HTML5、CSS3和JS,畢竟這并非一朝一夕就能學會的。如果技術小白想做自適應網頁,這里給大家提供一種思路,用建站寶盒。完全不需要編程基礎,全程拖拽,一樣能做出讓人驚艷的自適應網站。現在還有免費建站活動,無論外行內行,大家可以注冊體驗一下。
零基礎免費做HTML5自適應網站:http://www.iisp.com/design/free-site.php?s=yuqiuping
eb前端開發面試題,前端面體及答案2020
(1) 響應式布局 (2) 100%布局(彈性布局) (3) 等比縮放布局(rem)
(1) 將前端輸出數據都進行轉義 (2) 將輸出的字符串中的\反斜杠進行轉義 (3) 從url中獲取的信息,防治方法是由后端獲取,在前端轉義后再行輸出 (4) 使用cookie的HttpOnly屬性,保護好cookie
增強WebView : 原生WebView基本是PC平臺瀏覽器內核的移植,但對于移動場景并不完全適合,各種硬件API得不到HTML5原生支持。因此對于WebView的種種Hack、增強應運而生,甚至出現了基于增強WebView提供第三方服務的。
路由: 應用內跳轉由于加入了 WebView而變得復雜起來,同時由于組件化、模塊化帶來的問 題,路由也成為人們討論的重點。
緩存: 移動網絡條件差,為了用戶體驗,必須要做資源緩存和預加載。
通信: 即HTML5和Native之間的通信。利用系統提供的橋接API可以實現,不過在應用上還 有著一些坑點和安全問題。
IIO 密集而非計算密集的情景;高并發微數據(比如賬號系統)的情景。特別是高并發,Node.js 的性能隨并發數量的提高而衰減的現象相比其他 server 都有很明顯的優勢。
Bad Use Cases 1.CPU heavy apps (高CPU消耗的app) 2.Simple CRUD / HTML apps (簡單的CRUD / HTML apps) 3.NoSQL + Node.js + Buzzword Bullshit (NoSQL + Node.js + 各種時髦詞匯)
Good Use Cases 1.JSON API 2.Single page apps (單頁面app) 3.Shelling out to unix tools (對unix工具的腳本化調用) 4.Streaming data (流數據) 5.Soft Realtime Applications (軟件實時程序)
以上就是酷仔今天整理提供的Web前端開發面試題,希望為Web前端同學提供了有用的面試素材,以后酷仔每日均會提供Python及Web相關的習題。
特殊說明:以上資料由開課吧提供!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。