|
導讀網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立... 網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。 如今的網頁布局是需要適應于各種屏幕的,因此就需要來實現自適應使得網頁中的內容來完全的顯示,所以,今天的這篇文章就來給大家介紹一下關于css寬度自適應的內容。詳細的說一說css自適應布局中css寬度自適應該如何實現。我們經常會看到這樣的頁面,左側(或者右側)為固定的導航或者菜單欄,另一側將會隨著瀏覽器的縮放而自適應改變其大小,這其實就是寬度自適應的實現。 css寬度自適應中最常見的實現方法有兩種,一種是兩列布局,另一種是三列布局 下面我們就來對這兩種方法分別簡單介紹一下。 一. css寬度自適應之兩列布局: 我們以右側寬度固定,左側寬度自適應為例: 1、固定寬度區浮動,自適應區不設寬度而設置 margin <div id="wrap"> <div id="sidebar" style="height:500px;background:red;color:#fff;">固定寬度區</div> <div id="content" style="height:500px;background:#000;color:#fff;">自適應區</div> </div> #sidebar {
float: right; width: 300px;
}#content {
margin-right: 300px;
}注意: 右側一直固定不動,左側根據屏幕的剩余大小自適應。 但實際上這個方法是有局限性的,那就是html結構中sidebar必須在content之前才行。 2、float與margin配合使用 <div id="wrap">
<div id="content" style="height:500px;background:#000;color:#fff;">
<div class="contentInner">
自適應區 </div>
</div>
<div id="sidebar" style="height:500px;background:red;color:#fff;">固定寬度區</div>
</div>#content {
margin-left: -300px; float: left; width: 100%;
}#content .contentInner{
margin-left:300px;
}#sidebar {
float: right; width: 300px;
}說明:這樣實現,contentInner的實際寬度就是屏幕寬度-300px。 3、固定寬度區使用絕對定位,自適應區設置margin <div id="wrap"> <div id="content" style="height:500px;background:#000;color:#fff;">我現在的結構是在前面</div> <div id="sidebar" style="height:500px;background:red;color:#fff;">固定寬度區</div> </div> #wrap{
position:relative;
}#content {
margin-right:300px;
}#sidebar {
position:absolute;
width:300px;
right:0;
top:0;
}4、使用display:table實現 <div id="wrap"> <div id="content" style="height:500px;background:#000;color:#fff;">我現在的結構是在前面</div> <div id="sidebar" style="height:500px;background:red;color:#fff;">固定寬度區</div> </div> #wrap{
display:table;
width:100%;
}#content {
display:table-cell;
}#sidebar {
width:300px;
display:table-cell;
}注意:這一種方法在IE7以及以下瀏覽器不兼容,因為IE7設置display為table不識別。 二. css寬度自適應之三列布局: 1、固定寬度三列布局 <div class="div0">
<div class="left">left</div>
<div class="middle">middle</div>
<div class="right">right</div>
</div>*{
padding: 0;
margin: 0;
}
.div0{
width: 800px;
height: 500px;/*設置高度只為結果更直觀,高度可根據內容自適應*/
margin: 50px auto;
border: 2px solid #E51414;/*添加邊框只為結果更直觀*/
}
.left{
width: 200px;
height: 500px;/*設置高度只為結果更直觀,高度可根據內容自適應*/
background: #6E6C8A;
float: left;/*設為左浮動*/
text-align: center;
}
.middle{
width: 430px;
height: 500px;/*設置高度只為結果更直觀,高度可根據內容自適應*/
background: #806155;
float: left;/*設為左浮動*/
margin: 0 10px 0 10px;/*左右各加10px使得三列之間有間隙*/
text-align: center;
}
.right{
width: 150px;
height: 500px;/*設置高度只為結果更直觀,高度可根據內容自適應*/
background: #8F9068;
float: right;/*設為右浮動*/
text-align: center;
}2、左右固定寬度、中間自適應寬度的三列布局 <!--<div class="div0">-->
<div class="left">left</div>
<div class="middle">middle</div>
<div class="right">right</div>
<!--</div>-->*{
padding: 0;
margin: 0;}
/*.div0{
width: 800px;
height: 500px;
margin: 50px auto;
position: relative;
border: 2px solid #E51414;
}
可以不要這個父元素div0(即默認父元素為body),如果有,需將這個父元素設置為相對定位*/
.left{
width: 200px;
height: 500px;
background: #6E6C8A;
position: absolute;
top: 0; l
eft: 0;
/*設為絕對定位并且與其父元素的top、left距離都為0*/
text-align: center;
}
.middle{
height: 500px;
background: #806155;
margin: 0 160px 0 210px;
/*左右各加10px使得三列之間有間隙*/
text-align: center;
}
.right{
width: 150px;
height: 500px;
background: #8F9068;
position: absolute;
top: 0;
right: 0;
/*設為絕對定位并且與其父元素的top、right距離都為0*/
text-align: center;
}說明:當左右兩個div寬度固定,中間的div寬度未知時,使用浮動不能實現三列布局。使用絕對定位才能實現三列布局:需要將左邊和右邊的元素設置為絕對定位,將中間的元素margin值的左右分別設置為右邊元素和左邊元素的寬度。不需要父元素的包裹,即可實現三列布局,如果有父元素,需要將父元素設置為相對定位。(關于定位的內容可以參考css手冊) 相關推薦: CSS如何實現div寬度根據內容自適應_html/css_WEB-ITnose css實現右側固定寬度,左側寬度自適應_html/css_WEB-ITnose 以上就是css自適應布局:css寬度自適應如何實現?的詳細內容,更多請關注php中文網其它相關文章! 網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。 |
溫馨提示:喜歡本站的話,請收藏一下本站!