html的幾種佈局方式:
通常網頁都是用<div>、<table>來進行佈局,CSS渲染整個佈局的樣式使頁面邊的好看
塊級元素都會自上而下按順序垂直延伸分佈,默認狀態下塊級元素的寬默認爲100%
在默認佈局下,如果我們想讓兩個塊級元素並排顯示,通過float浮動實現,使用後記得清除浮動
通過設置定位position實現 absolute 絕對定位; relative 相對定位 ; fixed 固定定位等
一、靜態佈局
特點:不管瀏覽器的尺寸多大,網頁佈局始終按寫代碼式的固定寬高顯示,常規的pc網站都是靜態佈局,
移動端的話另外建設網站單獨設佈局
(1)、在viewport meta標籤上設置寬的大小width=320,也頁面的各個元素也以像素px爲單位
通過js動態修改標籤initial-scale使得頁面等比縮放,從而剛好佔滿整個屏幕
像素px爲單位。由於640px超出手機寬度,瀏覽器會自動的縮小頁面至全屏
特點:頁面元素的寬度是按照屏幕的分辨率進行適配調整,簡單說使用百分比%設置,再設置max-width,min-width;
等屬性控制尺寸流動範圍;使整體佈局不變,代表作網格系統
大小是以像素px爲單位的,在大屏下顯示的效果會是寬被拉寬,使整個頁面看起來不協調
特點:分別爲不同的屏幕分辨定義佈局,即創建多個靜態佈局,每個靜態局部對應一個屏幕的分辨率範圍。改變
屏幕分辨率可以切換不同的靜態佈局,但每個靜態佈局中頁面元素大小不隨窗口的大小而改變。位置發生改變
四、響應式佈局
概述:隨着CSS3的媒體查詢,出現了響應式佈局,目標:確保每一個頁面在所有的終端都能顯示滿意的效果
通常糅合了流式佈局與自適應佈局 再搭配媒體查詢技術,
根據不同的屏幕分辨率做不同的佈局,且寬根據屏幕的分辨率做出適配的調整
在head定義:<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user- scalable=no">
width="device-width":頁面寬度=設備寬度
initial-scale:初始縮放比例
maximum-scale:允許用戶的最大縮放比例
minimum-scale:允許用戶的最小縮放比例
user-scale:是否允許用戶可以手動縮放
media query是響應式設計的核心,它能夠跟瀏覽器進行溝通
結構:@media screen and(max-width:980px){
#head{...}
#content{...}
#footer{....}
}
ipa : @media only screen and (min-width:768px) and (max-width:1024px){}
@meta (min-width:640px){body{font-size:1rem}}
@meta (min-width:960px){body{font-size:1.2rem}}
@meta (min-width:1200px){body{font-size:1.5rem}}
詳情可借鑑http://www.mahaixiang.cn/wzsj/278.html
五、彈性佈局(rem/em佈局)
rem、em的區別:都是順應不同網頁字體大小展現而產生的,em相對是父元素,rem始終相對html大小即頁面根元素
使用em相對佈局相對與使用百分比%佈局更靈活
px:像素,比較精確,不方便左響應式佈局
em: 以父節點font-size大小爲參考點,標準不統一,IE6-8不支持
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
<title>html之div層佈局</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.top{
width: 100%;
height: 80px;
background-color: cadetblue;
}
.content{
width: 100%;
height: 520px;
background-color: white;
}
.footer{
width: 100%;
height: 40px;
background-color: darkgray;
text-align: center;
clear: none;
}
p{
padding-top: 10px;
}
span{
font-family: "微軟雅黑";
font-size: 20px;
margin-left: 10px;
color: white;
}
img{
text-align: right;
vertical-align: middle;
margin-left: 5%;
}
.left{
width: 15%;
height: 100%;
background-color: lightblue;
float: left;
}
.right{
height: 100%;
width: *;
float: right;
}
</style>
</head>
<body>
<div>
<div class="top"><img src="../images/smartphone2.png"/><span>中國某某國際公司</span></div>
<div class="content">
<div class="left"><p>中國某某國際公司</p></div>
<div class="right"></div>
</div>
<div class="footer"><p>中國某某國際公司 © 2018-01-01</p></div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>table表格佈局</title>
</head>
<body>
<table border="0" cellspacing="0">
<tr style="width: 600px;height: 80px;">
<td colspan="2" style="background-color: coral;"><img src="../images/smartphone.png" style="text-align: right; vertical-align: middle;margin-left: 5%;"/><span style="font-size: 20px; margin-left: 10px; color: white;">我的世界</span></td>
</tr>
<tr style="height: 400px;">
<td width="80" style="background-color: cornsilk; vertical-align: top;">
<p>我的世界</p>
</td>
<td width="520"></td>
</tr>
<tr style="background-color: aliceblue;">
<td colspan="2" style="text-align: center;"><p>我的世界 © 2018-1-1</p></td>
</tr>
</table>
</body>
</html>