Ⅰ 寫html前端的時候有必要每一個嵌套的標簽都要縮進么
寫html時可以先盡量減少嵌套層的數量,大的板塊內容間嚴格縮進,例如一行圖片的html,圖片元素與父級<div>間需要縮進,而圖片內嵌套的<a>,<p>,<img>,<span>標簽,大都是簡單的不帶屬性值的,這些可以不用分層縮進,代碼不長的話可以寫在一行。
縮進主要是為了代碼的可讀性,覺得離得太遠可以使用短的縮進,還可以通過注釋線分塊,細小的圖片按鈕或文字鏈接等,標簽簡單不帶屬性值之類可以簡化結構列在一行,前提是不影響可讀性。
Ⅱ 網頁中 嵌套 iframe 優缺點
iframe是一種框架,也是一種很常見的網頁嵌入方式
iframe的優點:
1.iframe能夠原封不動的把嵌入的網頁展現出來。
2.如果有多個網頁引用iframe,那麼你只需要修改iframe的內容,就可以實現調用的每一個頁面內容的更改,方便快捷。
3.網頁如果為了統一風格,頭部和版本都是一樣的,就可以寫成一個頁面,用iframe來嵌套,可以增加代碼的可重用。
4.如果遇到載入緩慢的第三方內容如圖標和廣告,這些問題可以由iframe來解決唯皮。
iframe的缺點:
1.會產生很多頁面,不容易管理。
2.iframe框架結構有時會讓人感到晌山旁迷惑,如果框架個數多的話,可能會出現上下、左右滾動條,會分散訪問者的注意力,用戶體驗度差。
3.代碼復雜,無法被一些搜索引擎索引到,這一點很關鍵,現在的搜索引宴橡擎爬蟲還不能很好的處理iframe中的內容,所以使用iframe會不利於搜索引擎優化。
4.很多的移動設備(PDA 手機)無法完全顯示框架,設備兼容性差。
5.iframe框架頁面會增加伺服器的http請求,對於大型網站是不可取的。
分析了這么多,現在基本上都是用Ajax來代替iframe,所以iframe已經漸漸的退出了前端開發
Ⅲ 前端DIV嵌套問題
這種一般都是用表格做出來的
css 代碼:
table{border-spacing:0;}
td{width: 100px;height: 50px;}
body代碼:
<table width="400px" border="1px">
<tr>
<td style="width: 50px;" rowspan="5"></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
Ⅳ H5頁面與原生App(安卓,IOS)交互
在客戶端項目中,同一個app會開發成兩個版本,一個是安卓版本,一個IOS版本,公司必須有兩個開發團隊(一個安卓團隊,一個IOS團隊)來進行開發,這樣一來,開發成本非常之高。所以,往往在實際項目-中,會嵌套很多H5頁面,一個H5頁面同時兼容安卓和IOS兩個系統 ,這樣一來,大大減少了開發成本,前端開發頁面就必須和原生進行交互。
1. 頁面開發 —— 前端開發人員將所有的頁面按照移動webappp進行開發,做好不同屏幕的適配(寬度100%,視口為移動端視口 (快捷方式meta:vp tap),字體適配rem單位,設置html根標簽的font-size然後根據媒體查詢判斷設備屏幕大小進而設置html根標簽的不同fontsize,去除移動端高亮顯示;小圖標要善於使用字體圖標(常用的字體圖標庫有阿里巴巴矢量圖),改變input標簽的默認樣式可以採用隱藏input,然後通過字體圖標來控制前面的圖標,就可以做成自己想要的圖標效果)
2.前端頁面部署 —— 設置好入口文件(原生一進來就進入的頁面,命名為index.html),部署到對應的伺服器上,通過網址就能夠訪問到頁面,將網址給app客戶端開發人員,他們將app配置好環境後講頁面嵌套在app中。
3.進行數據對接:兩種對接方式(1).前端頁面自己通過ajax去後台拉數據,然後自己在頁面上使用再提交給後台。前提是原生需要將對應的設備號,加密方式,請求數據所需要的各種參數通過回調函數傳遞給H5頁面,H5頁面拿到這些數據後直接調後台的借口、獲取到數據。(2).前端頁面不用自己去後台拉取數據,而是通過回調函數,獲取到原生app拉取的數據,前端頁面將這些數據處理後又通過回調函數交給app,再又app發送給後台。兩種調用的優劣比較:如果H5頁面及數據不是很多,使用第二種方式比較合理,不用H5頁面請求數據(不用封裝請求,不用加密數據),不使用框架,大大減少了頁面的大小,提高性能及用戶體驗。如果涉及到的前端頁面非常多,數據交互比較復雜的話,就必須使用第一種對接方式了,app只需要將設備號,加密規則,參數傳遞給H5,H5根據頁面需求自己向後台拉去和請求數據,直接交互,不再通過app進行轉接,減小復雜程度。