網頁自適應代碼
A. 電腦網頁自適應寬度代碼怎麼寫,可以讓網頁在不同解析度的電腦上都能完好無損的顯示。
響應式要用CSS里的媒體查詢單獨來寫 首先要了解一下基本的媒體查詢的意思:
html">/*小屏幕(平板,大於等於768px)媒體查詢的寫法*/
@media(min-width:@screen-sm-min){...}
/*中等屏幕(桌面顯示器,大於等於992px)媒體查詢的寫法*/
@media(min-width:@screen-md-min){...}
/*大屏幕(大桌面顯示器,大於等於1200px)媒體查詢的寫法*/
@media(min-width:@screen-lg-min){...}
/*我們偶爾也會在媒體查詢代碼中包含max-width
從而將CSS的影響限制在更小范圍的屏幕大小之內。*/
@media(max-width:@screen-xs-max){...}
@media(min-width:@screen-sm-min)and(max-width:@screen-sm-max){...}
@media(min-width:@screen-md-min)and(max-width:@screen-md-max){...}
@media(min-width:@screen-lg-min){...}
上述功能了解之後,只要把想要實現的解析度效果 寫在不同的媒體查詢里即可
B. 怎樣修改代碼網頁怎樣才可以自適應窗口
第一種嘗試,直接修改寬高屬性:
直接把embed中的width和height屬性調整為百分比,代碼如下:
<divstyle="text-align:center;">
<embedid="movie"src="http://player.youku.com/player.php/sid/XMjg4NzkzMjQ4/v.swf"allowfullscreen="true"quality="high"width="90%"height="90%"align="middle"allowscriptaccess="always"type="application/x-shockwave-flash"/>
</div>
但是瀏覽器都不識別,寬度倒是自適應的,但是高度始終都在150px左右,如下圖,顯示效果不佳。
C. 怎麼修改網頁代碼讓它變成可以自適應屏幕呢
首先,你的問題很含糊,適應屏幕,是要做pc端的適配還是手機端的適配呢?其次,要達到怎麼樣的適配效果呢?不同效果有不同的方案。
1、如果只是一般的希望盒子能在不同窗口大小中正常比例顯示,建議對最外層使用js動態布局,根據窗口大小來確定最外層盒子的寬高,或者採用絕對定位。對於你想達到的不同適配效果,可以採用不同的方案。包括使用em替換px,或者是百分比。
2、如果希望在手機端能達到最佳效果,甚至有另一套UI的話,就要採用媒體查詢的方式,這是css3特有的,所以在基本上用在手機端,例如:
如果文檔寬度小於 300 像素則修改背景演示(background-color):
@media screen and (max-width: 300px) {
body {
background-color:lightblue;
}
}
你可以為各個尺寸的屏幕寫特定的css。
這就是一個最簡單的媒體查詢,具體可以查找w3cschool上的相應資料,或者網路一下。
D. html頁面怎樣能夠自適應電腦屏幕寬度
在1024*768或者800*600的解析度下可以自動調整成適用於該客戶端解析度的大小。
第一種方法:做一個網頁解決問題(長了點)
如果只是因為瀏覽者改變了瀏覽器的設置,或者因為瀏覽器不兼容,使自己精心製作的網頁變得"面目全非",那多令人沮喪!下面我們以網頁愛好者的常用工具Dreamweaver(以下簡稱DW)為例,列出幾個網頁製作初學者較常見的網頁布局問題以及解決方法,希望對初學者們有所幫助。
一、消除任意縮放瀏覽器窗口對網頁的影響
一番辛苦做出來的網頁,在全屏狀態下瀏覽一切正常。但在改變瀏覽窗口大小之後,網頁就變得"不堪入目"了,這是個很值得注意的問題。
問題的根源還得從網頁的布局說起,在DW中,網頁內容的定位一般是通過表格來實現的,解決表格的問題也就成功了大半。
大家應該注意到,在DW中表格屬性面板的高寬設定選擇上提供了兩種不同類型:百分比和像素值。百分比的使用將會產生前面說到的那個毛病。這里所說的百分比是指表格的高或寬設置為上層標記所佔區域高或寬的百分比,如在一個表格單元的寬度是600,在它裡面嵌入了另外一個表格,表格寬度占表格單元的50%,則這個表格的寬度為300,依此類推,如果在一個表格不是嵌於另一個表格單元中,則其百分比是相對於當時窗口的寬度的。IE瀏覽器中,隨便改動主頁窗口的大小時,表格的內容也隨之錯位、變形,就是因為表格的百分比也要隨著窗口的大小而改變成相應的百分比寬度。
自然,解決這個問題的辦法就是將表格寬度設置成固定寬度(也就是像素值)。另外如果外層表格已做好固定寬度設置,內層表格也可以適當使用百分比設置。清楚這個原則以後,如果出現類似的問題大家也知道怎麼解決。
二、讓網頁居中
說到了窗口大小就會順著路子想到解析度的問題,在800×600解析度下製作的網頁在1024×768解析度的機器上打開,整個網頁就會跑到左邊;1024×768解析度的網頁在800×600解析度的機器上有時也會變得"不堪入目"。兩種解析度各做一個吧?做起來費時,看起來也費勁。怎麼辦呢?
現在大多數網民都還在用800*600的解析度,所以我們一般可以以此解析度為主,要想讓網頁在1024*768時居中,只要在網頁原代碼的<body>後緊加一句<center>,</body>前加一句</center>就OK了。不過有幾個問題這是要注意一下,第一個就是上面說到的百分比的問題,表格、單元格的寬度單位最好要使用像素單位,而不要用百分比。例如width=770。如果你的表格寬度設的是百分比,那麼使用大於800×600的像素時,網頁就會拉寬,這樣網頁可能會變形。在<body>中加入leftmargin=0,即<body leftmargin=0>這種情況下,800×600支持的表格寬度為780像素時不會出現滾動條。還有一點要注意的是不能用DW中的層來定位。
<html>
<head></head>
<body topmargin=0 leftmargin=0>
<center>
<table cellspacing cellpadding width=760><tr><td></td></tr></table>
</center>
</body>
</html>
三、定義固定大小的文字
大家都知道,在IE瀏覽器的功能設置中,有一個可以自由設置窗口內容字體大小的功能,這樣由於不同訪問者的設置習慣不同,呈現在他們面前的網頁有時也會不不相同。比如你可能本來設計時用的是2號字體,結果由於用戶對瀏覽器的額外設定,變的更大了,這時你的網頁也可能變得"不堪入目"。雖然不是你的錯,但客戶是上帝。
如果使用了網頁中的CSS樣式表技術,就不會出現上述情況了。使用快捷鍵"Shift+F11"打開樣式表"CSS style"編輯器,在窗口中單擊滑鼠右鍵執行"New CSS style..."命令新建一個樣式表,然後在給出的列表中選擇"類型"選項,定義文字屬性參數(一般文字的大小選擇12px較為適宜)。完成後選擇網頁編輯窗中的文本,單擊新的樣式表名稱,可以看到選中的文本發生了變化。預覽時試試定義的文本字體尺寸還會不會隨瀏覽器的選擇字體大小而改變。
四、讓網頁適應不同的瀏覽器
瀏覽器的格局現在是兩分天下,一分是IE,另一分是NetScape,在國內Ie有絕對的佔有率,在這種情況下我們設計的網頁只要兼容它就行了,但NetScape在國外還是有很多人使用,畢竟它是瀏覽器的元老。
雖然沒有辦法做出讓所有瀏覽器都兼容的網站,但只要注意以下幾點,做出來的網頁在各個瀏覽器都中能達到比較好的顯示效果:
不要混合使用層和表格排版,如果是父子關系,如層中表格,不在此原則范圍內。
內聯式的 CSS 在 Netscape Navigator 中經常會出現問題,使用鏈式或內嵌式。
有時需要在空層插入表格或者透明圖片,以保證在 Netscape Navigator 里的效果。
對於只有幾個像素寬度或高度的層,改用圖片來實現。
避免使用 W3C 組織不推薦的排版屬性,用 CSS 代替。
第二種方法:做兩個適合不同解析度的頁面,一個是800×600,一個是1024×768,在800×600的頁面中加入一下代碼就可以實現跳轉了:
解決解析度問題在Dreamweaver中沒有此項功能,我們只能手動加入一段Javascript代碼。首先在change-ie.html或change-nc.html頁面代碼中的< head>和< /head>中加入以下代碼:
< script language=JavaScript>
< !--
function redirectPage(){
var url800x600=〃index-ie.html〃; //定義兩個頁面,此處假設index-ex.html和1024-ie.html同change-ie.html在同一個目錄下
var url1024x768=〃1024-ie.html〃;
if ((screen.width==800) && (screen.height==600))//在此處添加screen.width、screen.height的值可以檢測更多的解析度
window.location.href= url800x600;
else if ((screen.width==1024) && (screen.height==768))
window.location.href=url1024x768;
else window.location.href=url800x600;
}
// -->
< /script>
然後再在< body…>內加入onLoad=〃redirectPage()〃
最後,同樣地,在< body>和< /body>之間加入以下代碼來顯示網頁的工作信息:
< script language=JavaScript>
< !--
var w=screen.width
var h=screen.height
document.write(〃系統已檢測到您的解析度為:〃);
document.write(〃< font size=3 color=red>〃);
document.write(w+〃×〃+h);
document.write(〃< /font>〃);
document.write(〃正在進入頁面轉換,請稍候…〃);
// -->
< /script>
判斷讀者瀏覽器類型和屏幕解析度,自動調用不同CSS
我們在設計網頁的時候一個比較頭痛的問題是究竟我們的瀏覽者的解析度是多少?如果使我們的瀏覽者能夠更好的去瀏覽到我的網頁,這個是我們設計前必須思考的問題。所以Leying在設計網頁的時候第一個想的是兼容現在大多數瀏覽者的屏幕解析度,這里頭有幾種最常用的方法:
1、硬行把網頁先用表格框起來,框的解析度應該是在760-780象素,其餘的空間可以給一個背景圖或者空白.
2、用自動縮放的方法也可以實現,這種方法比較古老,而且很簡單,這個不多說了;
3、用自動判斷的方法。
今天,就第三種方法來說說,如何來判斷出瀏覽者的屏幕解析度,根據不同的解析度給予讀者不同的瀏覽內容:
網路上也有一些能自動判斷出你的瀏覽器是什麼類型或者什麼版本的代碼,集成過來。
一、既判斷解析度,也判斷瀏覽器,使之成為判斷瀏覽器類型屏幕解析度自動調用不同CSS的代碼。
<SCRIPT LANGUAGE="JavaScript">
<!--
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
var IE1024="";
var IE800="";
var IE1152="";
var IEother="";
ScreenWidth(IE1024,IE800,IE1152,IEother)
}else{
if (window.navigator.userAgent.indexOf("Firefox")>=1)
{
//如果瀏覽器為Firefox
var Firefox1024="";
var Firefox800="";
var Firefox1152="";
var Firefoxother="";
ScreenWidth(Firefox1024,Firefox800,Firefox1152,Firefoxother)
}else{
//如果瀏覽器為其他
var Other1024="";
var Other800="";
var Other1152="";
var Otherother="";
ScreenWidth(Other1024,Other800,Other1152,Otherother)
}
}
function ScreenWidth(CSS1,CSS2,CSS3,CSS4){
if ((screen.width == 1024) && (screen.height == 768)){
setActiveStyleSheet(CSS1);
}else{
if ((screen.width == 800) && (screen.height == 600)){
setActiveStyleSheet(CSS2);
}else{
if ((screen.width == 1152) && (screen.height == 864)){
setActiveStyleSheet(CSS3);
}else{
setActiveStyleSheet(CSS4);
}}}
}
function setActiveStyleSheet(title){
document.getElementsByTagName("link")[0].href="style/"+title;
}
//-->
</SCRIPT>
為了大家明白,這里簡單解析一下:
引用內容
var IE1024="";
var IE800="";
var IE1152="";
var IEother="";
引號裡面分別填寫,用戶使用IE的時候並且解析度為1024*768,800*600,1152*864要使用的css文件名。
var Firefox1024="";
var Firefox800="";
var Firefox1152="";
var Firefoxother="";
引號裡面分別填寫,用戶使用FireFox(一個也很流行的瀏覽器)的時候並且解析度為1024*768,800*600,1152*864要使用的css文件名。
var Other1024="";
var Other800="";
var Other1152="";
var Otherother="";
引號裡面分別填寫,用戶使用其他瀏覽器的時候並且解析度為1024*768,800*600,1152*864要使用的css文件名。
二、不判斷解析度,只判斷瀏覽器實現根據瀏覽器類型自動調用不同CSS。
<SCRIPT LANGUAGE="JavaScript">
<!--
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
//如果瀏覽器為IE
setActiveStyleSheet("default.css");
}else{
if (window.navigator.userAgent.indexOf("Firefox")>=1)
{
//如果瀏覽器為Firefox
setActiveStyleSheet("default2.css");
}else{
//如果瀏覽器為其他
setActiveStyleSheet("newsky.css");
}
}
function setActiveStyleSheet(title){
document.getElementsByTagName("link")[0].href="style/"+title;
}
//-->
</SCRIPT>
解釋:(和前面的差不多)
如果瀏覽器為IE,則調用default.css
如果瀏覽器為Firefox,則調用default2.css
如果瀏覽器為其他,則調用newsky.css
使用方法:
很簡單,放在 「</head>」 前面即可。
頁面在不同屏幕解析度下存在的問題及解決辦法
(未考慮800*600或更低解析度的情況)
一 問題
在不同解析度下,頁面布局存在不同程度的差異,特別是頁面上的表單控制項,其寬度默認是固定值「width:150px」,當解析度較高時,表格中的空白顯得過多,頁面布局顯得很不協調,在寬屏顯示器上尤為明顯。
二 解決辦法
方法1. 為不同解析度單獨做樣式文件,在頁面頭部用js判斷解析度後動態載入定義好的樣式文件。樣式文件命名格式如:forms[_屏幕寬度].css,樣式文件中只需重新定義文本框和下拉框的寬度即可。
在包含的頭文件headr.inc中加入js代碼:
if(screen.width > 1024){
document.write('<link rel="stylesheet" type="text/css" href="${path}/nrmus/etc/css/forms_'+ screen.width +'.css">');
}
forms_1280.css文件內容:
/* 解析度寬度為1280的時候,文本框和下拉框的寬度屬性(width)單獨定義
* 參考計算方法為:(解析度寬度-174)/4 * 0.7
* 左側菜單欄寬度為174px;右側頁面表格是4列;控制項寬度為單元格的70%
* (1280-174)/4*0.7 = 193
*/
input.text
{
background:#FFFFFF;
border:1px solid #B5B8C8;
padding:3px 3px;
height:22px;
line-height:18px;
vertical-align:middle;
padding-bottom:0pt;
padding-top:2px;
width: 193px;
color: #333;
}
select.select{
width: 193px;
}
優點:實現很簡單,代碼量少;並且可針對不同解析度做更細粒度的頁面控制。
缺點:無明顯缺點。
方法2 將整個頁面的寬度設置為固定值,並使其居中顯示。
優點:可以很大程度的消除不同解析度下的顯示差異。
缺點:解析度寬度大於這個固定值的時候,頁面兩邊會出現空白。
方法3 用js判斷解析度,修改body的zoom屬性(IE特性),即可實現對整個頁面進行縮放,類似IE8或其它瀏覽器提供的縮放功能。
優點:實現簡單,頁面能進行縮放。
缺點:縮放是寬度和高度的等比縮放,高解析度下字體、圖片看起來會變小,問題解決的不徹底。
三 總結
推薦方法1。頁面布局的變化和解析度的寬度有密切關系,和高度關系不大;常用的解析度寬度也就幾種,做幾個簡單的css文件即可。
E. HTML網頁如何自動適應手機屏幕
在網頁代碼的頭部,加入一行viewport元標簽。viewport是網頁默認的寬度和高度,上面這行代碼的意思是,網頁寬度默認等於屏幕寬度(width=device-width),原始縮放比例(initial-scale=1)為1.0,即網頁初始大小占屏幕面積的100%。所有主流瀏覽器都支持這個設置,包括IE9
不使用絕對寬度由於網頁會根據屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。只能指定百分比寬度
相對大小的字體字體也不能使用絕對大小(px),而只能使用相對大小(em)。
F. 如何把web前端網頁做成自適應
1.首先,在網頁代碼的頭部,加入一行viewport元標簽。
viewport是網頁默認的寬度和高度,上面這行代碼的意思是,網頁寬度默認等於屏幕寬度(width=device-width),原始縮放比例(initial-scale=1)為1.0,即網頁初始大小占屏幕面積的100%。
所有主流瀏覽器都支持這個設置,包括IE9,對於那些老式瀏覽器(主要是IE6、7、8),需要使用css3-mediaqueries.js。
2、不使用絕對寬度由於網頁會根據屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。具體說,CSS代碼不能指定像素寬度:width:xxx px;
只能指定百分比寬度:width: xx%;或者width:auto;
3、相對大小的字體
字體也不能使用絕對大小(px),而只能使用相對大小(em)。
body {
font: normal 100% Helvetica, Arial, sans-serif;
}
上面的代碼指定,字體大小是頁面默認大小的100%,即16像素。
h1 {
font-size: 1.5em;
}
然後,h1的大小是默認大小的1.5倍,即24像素(24/16=1.5)。
small {
font-size: 0.875em;
}
small元素的大小是默認大小的0.875倍,即14像素(14/16=0.875)。
G. 如何編寫自適應網頁
工具/原料
dm網頁設計軟體
ps圖像處理軟體
方法/步驟
在網頁代碼的頭部,加入一行viewport元標簽。
<meta name="viewport" content="width=device-width,initial-scale=1" />
viewport是網頁默認的寬度和高度,上面這行代碼的意思是,網頁寬度默認等於屏幕寬度(width=device-width),原始縮放比例(initial-scale=1)為1.0,即網頁初始大小占屏幕面積的100%。
由於網頁會根據屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。對圖像來說也是這樣。
具體說,CSS代碼不能指定像素寬度:
width:xxx px;
只能指定百分比寬度:
width: xx%;
或者
width:auto;
3
字體也不能使用絕對大小(px),而只能使用相對大小(em)。
例如:
body {font: normal 100% Helvetica, Arial,sans-serif;}
上面的代碼指定,字體大小是頁面默認大小的100%,即16像素。
4
流動布局(fluid grid)
"流動布局"的含義是,各個區塊的位置都是浮動的,不是固定不變的。
.main {float: right;width: 70%; }
.leftBar {float: left;width: 25%;}
float的好處是,如果寬度太小,放不下兩個元素,後面的元素會自動滾動到前面元素的下方,不會在水平方向overflow(溢出),避免了水平滾動條的出現。
5
"自適應網頁設計"的核心,就是CSS3引入的MediaQuery模塊。
它的意思就是,自動探測屏幕寬度,然後載入相應的CSS文件。
<link rel="stylesheet" type="text/css"media="screen and (max-device-width:400px)"href="tinyScreen.css" />
上面的代碼意思是,如果屏幕寬度小於400像素(max-device-width: 400px),就載入tinyScreen.css文件。
<link rel="stylesheet" type="text/css"media="screen and (min-width: 400px)and (max-device-width: 600px)"href="smallScreen.css" />
如果屏幕寬度在400像素到600像素之間,則載入smallScreen.css文件。
H. HTML怎麼讓網頁大小自動適應窗口
用table的話,寬度採用百分比,比如width=「98%」,表格居中align=「center」就可以了。
用div的話,寬度仍然采內用百分比,樣式容margin: 0 auto;就可以自動居中了。
採用百分比能夠自動適應窗口,但不會小於頁面元素中最寬的固定寬度。
一般頁面寬度可以設置為1002px。1024的解析度下剛好滿屏,不出現橫向滾動條。
I. 如何讓網頁自適應所有屏幕寬度
「自適應網頁設計」到底是怎麼做到的?其實並不難。
1.首先,在網頁代碼的頭部,加入一行viewport元標簽。
viewport是網頁默認的寬度和高度,上面這行代碼的意思是,網頁寬度默認等於屏幕寬度(width=device-width),原始縮放比例(initial-scale=1)為1.0
,即網頁初始大小占屏幕面積的100%。
所有主流瀏覽器都支持這個設置,包括IE9。對於那些老式瀏覽器(主要是IE6、7、8),需要使用css3-mediaqueries.js。
2、不使用絕對寬度由於網頁會根據屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。具體說,CSS代碼
不能指定像素寬度:width:xxx px;
只能指定百分比寬度:
width: xx%;
或者
width:auto;
3、相對大小的字體
字體也不能使用絕對大小(px),而只能使用相對大小(em)。
body {
font: normal 100% Helvetica, Arial, sans-serif;
}
上面的代碼指定,字體大小是頁面默認大小的100%,即16像素。
h1 {
font-size: 1.5em;
}
然後,h1的大小是默認大小的1.5倍,即24像素(24/16=1.5)。
small {
font-size: 0.875em;
}
small元素的大小是默認大小的0.875倍,即14像素(14/16=0.875)。
三、流動布局(fluid grid)
「流動布局」的含義是,各個區塊的位置都是浮動的,不是固定不變的。
.main {
float: right;
width: 70%;
}
.leftBar {
float: left;
width: 25%;
}
float的好處是,如果寬度太小,放不下兩個元素,後面的元素會自動滾動到前面元素的下方,不會在水平方向overflow(溢出),避免了水平滾動條的出現。
另外,絕對定位(position: absolute)的使用,也要非常小心。
四、選擇載入CSS
「自適應網頁設計」的核心,就是CSS3引入的Media Query模塊。
它的意思就是,自動探測屏幕寬度,然後載入相應的CSS文件。
上面的代碼意思是,如果屏幕寬度小於400像素(max-device-width: 400px),就載入tinyScreen.css文件。
如果屏幕寬度在400像素到600像素之間,則載入smallScreen.css文件。
除了用html標簽載入CSS文件,還可以在現有CSS文件中載入。
五、CSS的@media規則
同一個CSS文件中,也可以根據不同的屏幕解析度,選擇應用不同的CSS規則。
@media screen and (max-device-width: 400px) {
.column {
float: none;
width:auto;
}
#sidebar {
display:none;
}
}
上面的代碼意思是,如果屏幕寬度小於400像素,則column塊取消浮動(float:none)、寬度自動調節(width:auto),sidebar塊不顯示(display:none)。
六、圖片的自適應(fluid image)
除了布局和文本,」自適應網頁設計」還必須實現圖片的自動縮放。
這只要一行CSS代碼:
img { max-width: 100%;}
這行代碼對於大多數嵌入網頁的視頻也有效,所以可以寫成:
img, object { max-width: 100%;}
老版本的IE不支持max-width,所以只好寫成:
img { width: 100%; }
此外,windows平台縮放圖片時,可能出現圖像失真現象。這時,可以嘗試使用IE的專有命令:
img { -ms-interpolation-mode: bicubic; }
或者,Ethan Marcotte的imgSizer.js。
addLoadEvent(function() {
var imgs = document.getElementById(「content」).getElementsByTagName(「img」);
imgSizer.collate(imgs);
});