[HTML && CSS]
1.Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義? 首先我講講如何觸發兩種模式: 加入xml頭部聲明可以觸發IE瀏覽器的Quirks mode,觸發之后,瀏覽器解析方式就和IE5.5一樣,擁有IE5.5一樣的bug和其他問題,行為(Javascript)也是如此。 IE6的觸發 在XHTML的DOCTYPE前加入XML聲明 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> IE7的觸發 在XML聲明和XHTML的DOCTYPE之間加入HTML注釋 <?xml version="1.0" encoding="utf-8"?> <!-- ... and keep IE7 in quirks mode --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> IE6和IE7都可以觸發的 在HTML4.01的DOCTYPE文檔頭部加入HTML注釋 <!-- quirks mode --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 其次是這樣的意義 各個瀏覽器的混雜模式,基本就是各個瀏覽器的私有模式,不相互兼容。所以,除非是為了兼容的問題,比如你不想修改很久很久以前做的IE ONLY的網頁,否則刻意觸發混雜模式沒有任何意義。
2:行內元素有哪些?塊級元素有哪些?CSS的盒模型?
一.行內元素和塊級元素有哪些?
塊級元素
| <address> | information on author |
| <blockquote> | long quotation |
| <button> | push button |
| <caption> | table caption |
| <dd> | definition description |
| <del> | deleted text |
| <div> | generic language/style container |
| <dl> | definition list |
| <dt> | definition term |
| <fieldset> | form control group |
| <form> | interactive form |
| <h1> | heading |
| <h2> | heading |
| <h3> | heading |
| <h4> | heading |
| <h5> | heading |
| <h6> | heading |
| <hr> | horizontal rule |
| <iframe> | inline subwindow |
| <ins> | inserted text |
| <legend> | fieldset legend |
| <li> | list item |
| <map> | client-side image map |
| <noframes> | alternate content container for non frame-based rendering |
| <noscript> | alternate content container for non script-based rendering |
| <object> | generic embedded object |
| <ol> | ordered list |
| <p> | paragraph |
| <pre> | preformatted text |
| <table> | table |
| <tbody> | table body |
| <td> | table data cell |
| <tfoot> | table footer |
| <th> | table header cell |
| <thead> | table header |
| <tr> | table row |
| <ul> | unordered list |
行內元素
| <a> | anchor |
| <abbr> | abbreviated form |
| <acronym> | acronym |
| <b> | bold text style |
| <bdo> | I18N BiDi over-ride |
| <big> | large text style |
| <br> | forced line break |
| <button> | push button |
| <cite> | citation |
| <code> | computer code fragment |
| <del> | deleted text |
| <dfn> | instance definition |
| <em> | emphasis |
| <i> | italic text style |
| <iframe> | inline subwindow |
| <img> | Embedded image |
| <input> | form control |
| <ins> | inserted text |
| <kbd> | text to be entered by the user |
| <label> | form field label text |
| <map> | client-side image map |
| <object> | generic embedded object |
| <q> | short inline quotation |
| <samp> | sample program output, scripts, etc. |
| <select> | option selector |
| <small> | small text style |
| <span> | generic language/style container |
| <strong> | strong emphasis |
| <sub> | subscript |
| <sup> | superscript |
| <textarea> | multi-line text field |
| <tt> | teletype or monospaced text style |
| <var> | instance of a variable or program argument |
二.行內元素與塊級元素有什么不同?
1.尺寸-塊級元素和行內元素之間的一個重要的不同點
行內元素和width
W3C CSS2 標准規定行內元素、非置換元素不會應用width屬性。
以下例子中,對行內元素<a>應用了width:200px,你可以看到,根本就沒有什么效果。
行內元素和height
W3C CSS2 標准規定行內元素、非置換元素不會應用height屬性,但是盒子高度可以通過line-height來指定。
以下例子,對行內元素<a>應用了height:50px,你可以看到什么效果都沒。
行內元素和padding
你可以給行內元素設置padding,但只有padding-left和padding-right生效。
以下例子,行內元素<a>應用了padding:50px。你可以看到對左右的內容有影響,但是對上下沒影響。
行內元素和marging
margin屬性也是和padding屬性一樣,對行內元素左右有效,上下無效。
下面的例子,對<a>應用了margin:50px,你可以看到左右邊緣是生效了但是內容上下卻沒有。
記住對行內元素
設置寬度width 無效。
設置高度height 無效,可以通過line-height來設置。
設置margin 只有左右margin有效,上下無效。
設置padding 只有左右padding有效,上下則無效。注意元素范圍是增大了,但是對元素周圍的內容是沒影響的,看圖上效果就知道了
盒子模型
W3C組織建議把所有網頁上的對像都放在一個盒(box)中,設計師可以通過創建定義來控制這個盒的屬性,這些對像包括段落、列表、標題、圖片以及層。盒模型主要定義四個區域:內容(content)、邊框距(padding)、邊界(border)和邊距(margin)。對於初學者,經常會搞不清楚margin,background-color,background- image,padding,content,border之間的層次、關系和相互影響。這里提供一張盒模型的3D示意圖,希望便於你的理解和記憶。
每個HTML元素都可以看作一個裝了東西的盒子,盒子里面的內容到盒子的邊框之間的距離即填充(padding),盒子本身有邊框(border),而盒子邊框外和其他盒子之間,還有邊界(margin)。
盒模型的實際寬度
關於盒模型,還有以下幾點需要注意:
·對於塊級元素(display:block),未浮動的垂直相鄰元素的上邊界和下邊界會被壓縮,例如:有上下2個元素,上元素的下邊界為5px,下面元素的上邊界為20px,則實際2個元素的間距為20px(2個邊界值中較大的值)。如圖所示。
注1. 塊級元素(display: block)
每個塊級元素都從一個新行開始,而且其后的元素也需另起一行開始,標題、段落、表格、層、body等都是塊級元素。塊級元素只能作為其他塊級元素的子元素,而且需要一定的條件。
·內聯元素,例如<a>、<span>等,定義上下邊界不會影響到行高(line-height),內聯元素距離上一行元素的距離由行高決定,而不是填充或邊界。
注2. 內聯元素(display:inline)
內聯元素不需要在新行內顯示,而且也不強迫其后的元素換行,如a、em、span等都為內聯元素。內聯元素可以為任何其他元素的子元素。
·浮動元素(無論左或者右浮動)邊界不壓縮,且若浮動元素不聲明寬度,則其寬度趨向於0,即壓縮到其內容能承受的最小寬度。
·如果盒中沒有內容,則即使定義了寬度和高度都為100%,實際上只占0%,因此不會被顯示,此點在采取層布局的時候需特別注意。
·邊界值可為負,其顯示效果各瀏覽器可能不相同。
·填充值不可為負。
·邊框默認的樣式(border-style)為不顯示(none)。
3.CSS引入的方式有哪些? link和@import的區別是?
本質上,這兩種方式都是為了加載CSS文件,但還是存在着細微的差別。
差別1:老祖宗的差別。link屬於XHTML標簽,而@import完全是CSS提供的一種方式。
link標簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
差別2:加載順序的差別。當一個頁面被加載的時候(就是被瀏覽者瀏覽的時候),link引用的CSS會同時被加載,而@import引用的CSS會等到頁面全部被下載完再被加載。所以有時候瀏覽@import加載CSS的頁面時開始會沒有樣式(就是閃爍),網速慢的時候還挺明顯(夢之都加載CSS的方式就是使用@import,我一邊下載一邊瀏覽夢之都網頁時,就會出現上述問題)。
差別3:兼容性的差別。由於提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識別,而link標簽無此問題。
差別4:使用dom控制樣式時的差別。當使用javascript控制dom去改變樣式的時候,只能使用link標簽,因為@import不是dom可以控制的。
大致就這幾種差別了(如果還有什么差別,大家告訴我,我再補充上去),其它的都一樣,從上面的分析來看,還是使用link標簽比較好。
標准網頁制作加載CSS文件時,還應該選定要加載的媒體(media),比如screen,print,或者全部all等。這個我到CSS高級教程中再給大家介紹。
注:
1,網友comehope在留言中提出了另一種區別。
差別5:@import可以在css中再次引入其他樣式表,比如可以創建一個主樣式表,在主樣式表中再引入其他的樣式表,如:
main.css
———————-
@import “sub1.css”;
@import “sub2.css”;
sub1.css
———————-
p {color:red;}
sub2.css
———————-
.myclass {color:blue}
這樣更利於修改和擴展.
猴子提示:這樣做有一個缺點,會對網站服務器產生過多的HTTP請求,以前是一個文件,而現在卻是兩個或更多文件了,服務器的壓力增大,瀏覽量大的網站還是謹慎使用。有興趣的可以觀察一下像新浪等網站的首頁或欄目首頁代碼,他們總會把css或js直接寫在html里,而不用外部文件。
4.CSS選擇符有哪些?哪些屬性可以繼承?優先級算法如何計算?內聯和important哪個優先級高?
5:前端頁面有哪三層構成,分別是什么?作用是什么?
最准確的網頁設計思路是把網頁分成三個層次,即:結構層、表示層、行為層。
網頁的結構層(structural layer)由 HTML 或 XHTML 之類的標記語言負責創建。標簽,也就是那些出現在尖括號里的單詞,對網頁內容的語義含義做出了描述,但這些標簽不包含任何關於如何顯示有關內容的信息。例如,P 標簽表達了這樣一種語義:“這是一個文本段。”
網頁的表示層(presentation layer) 由 CSS 負責創建。 CSS 對“如何顯示有關內容”的問題做出了回答。
網頁的行為層(behavior layer)負責回答“內容應該如何對事件做出反應”這一問題。這是 Javascript 語言和 DOM 主宰的領域。
8:你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什么?經常遇到的瀏覽器的兼容性有哪些?怎么會出現?解決方法是什么?
點評:css的兼容性也是大家關注的熱點。大家一定要注意多測試。Javascript 多瀏覽器兼容性問題及解決方案
兼容性處理要點
1、DOCTYPE 影響 CSS 處理
2、FF: 設置 padding 后, div 會增加 height 和 width, 但 IE 不會, 故需要用 !important 多設一個 height 和 width
3、FF: 支持 !important, IE 則忽略, 可用 !important 為 FF 特別設置樣式
4、div 的垂直居中問題: vertical-align:middle; 將行距增加到和整個DIV一樣高 line-height:200px; 然后插入文字,就垂直居中了。缺點是要控制內容不要換行
5、在mozilla firefox和IE中的BOX模型解釋不一致導致相差2px解決方法:
div{margin:30px!important;margin:28px;}
注意這兩個margin的順序一定不能寫反,!important這個屬性IE不能識別,但別的瀏覽器可以識別。所以在IE下其實解釋成這樣:
div{maring:30px;margin:28px}
重復定義的話按照最后一個來執行,所以不可以只寫margin:XXpx!important;
瀏覽器差異
1、ul和ol列表縮進問題
消除ul、ol等列表的縮進時,樣式應寫成:list-style:none;margin:0px;padding:0px;
其中margin屬性對IE有效,padding屬性對FireFox有效。
[注]經驗證,在IE中,設置margin:0px可以去除列表的上下左右縮進、空白以及列表編號或圓點,設置padding對樣式沒有影響;在 Firefox 中,設置margin:0px僅僅可以去除上下的空白,設置padding:0px后僅僅可以去掉左右縮進,還必須設置list- style:none才 能去除列表編號或圓點。也就是說,在IE中僅僅設置margin:0px即可達到最終效果,而在Firefox中必須同時設置margin:0px、 padding:0px以及list-style:none三項才能達到最終效果。
2、CSS透明問題
IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。
FF:opacity:0.6。
[注] 最好兩個都寫,並將opacity屬性放在下面。
3、CSS圓角問題
IE:ie7以下版本不支持圓角。
FF: -moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz- border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz- border- radius- bottomright:4px;。
[注] 圓角問題是CSS中的經典問題,建議使用JQuery框架集來設置圓角,讓這些復雜的問題留給別人去想吧。不過jQuery的圓角只看到支持整個區域的圓角,沒有支持邊框的圓角,不過這個邊框的圓角可以通過一些簡單的手段來實現,下次有機會介紹下。
4、cursor:hand VS cursor:pointer
問題說明:firefox不支持hand,但ie支持pointer ,兩者都是手形指示。
解決方法:統一使用pointer。
5、字體大小定義不同
對字體大小small的定義不同,Firefox中為13px,而IE中為16px,差別挺大。
解決方法:使用指定的字體大小如14px。
並列排列的多個元素(圖片或者鏈接)的div和div之間,代碼中的空格和回車在firefox中都會被忽略,而IE中卻默認顯示為空格(約3px)。
6、CSS雙線凹凸邊框
IE:border:2px outset;。
FF: -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;
瀏覽器bug
1、IE的雙邊距bug
設置為float的div在ie下設置的margin會加倍。這是一個ie6都存在的bug。
解決方案:在這個div里面加上display:inline;
例如:
<#div id=”imfloat”>
相應的css為
以下為引用的內容:
復制代碼代碼如下:
#IamFloat{
float:left;
margin:5px;/*IE下理解為10px*/
display:inline;/*IE下再理解為5px*/
}
#IamFloat{
float:left;
margin:5px;/*IE下理解為10px*/
display:inline;/*IE下再理解為5px*/
}
關於CSS中的問題實在太多了,甚至同樣的CSS定義在不同的頁面標准中的顯示效果都是不一樣的。一個合乎發展的建議是,頁面采用標准XHTML標准編寫,較少使用table,CSS定義盡量依照標准DOM,同時兼顧IE、Firefox、Opera等主流瀏覽器。很多情況下,FF和 Opera的CSS解釋標准更貼近CSS標准,也更具有規范性。
2、IE選擇符空格BUG
今天在給博客的段落樣式設置首字符樣式的時候發現,原來一個空格也可以使樣式失效。
請看以下代碼:
復制代碼代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="//www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
<!--
p{font-size:12px;}
p:first-letter{font-size:300%}
-->
</style>
</head>
<body>
<p>對於世界而言,你是一個人;但是對於某個人,你是他的整個世界。縱然傷心,也不要愁眉不展,因為你不知是誰會愛上你的笑容。</p>
</body>
</html>
[/code]
復制代碼代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="//www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
<!--
p{font-size:12px;}
p:first-letter{font-size:300%}
-->
</style>
</head>
<body>
<p>對於世界而言,你是一個人;但是對於某個人,你是他的整個世界。縱然傷心,也不要愁眉不展,因為你不知是誰會愛上你的笑容。</p>
</body>
</html>
這段代碼對<p>的首字符樣式定義在IE6上看是沒有效果的(IE7沒測試),而在p:first-letter和{font-size:300%}加上空格,也就是p:first-letter {font-size:300%}后,顯示就正常了。但是同樣的代碼,在FireFox下看是正常的。按道理說,p:first-letter{font-size:300%}的寫法是沒錯的。那么問題出在哪里呢?答案是偽類中的連字符”-”。IE有個BUG,在處理偽類時,如果偽類的名稱中帶有連字符”-”,偽類名稱后面就得跟一個空格,不然樣式的定義就無效。而在FF中,加不加空格都可以正常處理。
對css縮寫的支持問題: 不論是ie 還是ff對css的縮寫都有一小點問題 比如 border: 0xp solid #fff;兩個瀏覽器支持都沒有問題 但對於四個邊的magin不同情況下,就不能用這種縮寫了,無論是ie還是ff又會出現邊界解釋錯誤,而導致頁面變形 正確縮寫: border-width:0px 1px 2px 3px; border-style:solid; border-color:#fff; 第二點是 ie對於css的magin padding 等默認值為0px,但ff卻不一樣,為了保持外觀的統一性,即使padding為0你也要寫上,以免ff在瀏覽中的錯位。 IE與Firefox的CSS兼容大全 1.DOCTYPE 影響 CSS 處理 2.FF: div 設置 margin-left, margin-right 為 auto 時已經居中, IE 不行 3.FF: body 設置 text-align 時, div 需要設置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 設置 padding 后, div 會增加 height 和 width, 但 IE 不會, 故需要用 !important 多設一個 height 和 width 5.FF: 支持 !important, IE 則忽略, 可用 !important 為 FF 特別設置樣式,值得注意的是,一定要將xxxx !important 這句放置在另一句之上 6.div 的垂直居中問題: vertical-align:middle; 將行距增加到和整個DIV一樣高 line-height:200px; 然后插入文字,就垂直居中了。缺點是要控制內容不要換行 7.cursor: pointer 可以同時在 IE FF 中顯示游標手指狀, hand 僅 IE 可以 8.FF: 鏈接加邊框和背景色,需設置 display: block, 同時設置 float: left 保證不換行。參照 menubar, 給 a 和 menubar 設置高度是為了避免底邊顯示錯位, 若不設 height, 可以在 menubar 中插入一個空格。 9.在mozilla firefox和IE中的BOX模型解釋不一致導致相差2px解決方法:div{margin:30px!important;margin:28px;} 注意這兩個margin的順序一定不能寫反,據阿捷的說法!important這個屬性IE不能識別,但別的瀏覽器可以識別。所以在IE下其實解釋成這樣:div{maring:30px;margin:28px} 重復定義的話按照最后一個來執行,所以不可以只寫margin:XXpx!important; 10.IE5 和IE6的BOX解釋不一致 IE5下div{width:300px;margin:0 10px 0 10px;} div的寬度會被解釋為300px-10px(右填充)-10px(左填充)最終div的寬度為280px,而在IE6和其他瀏覽器上寬度則是以300px+10px(右填充)+10px(左填充)=320px來計算的。這時我們可以做如下修改div{width:300px!important;width :340px;margin:0 10px 0 10px} 關於這個是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的話,請告訴我一聲,謝了!:) 11.ul標簽在Mozilla中默認是有padding值的,而在IE中只有margin有值所以先定義ul{margin:0;padding:0;} 就能解決大部分問題 注意事項: 1、float的div一定要閉合。 例如:(其中floatA、floatB的屬性已經設置為float:left;)<#div id=\"floatA\" > <#div id=\"floatB\" > <#div id=\"NOTfloatC\" > 這里的NOTfloatC並不希望繼續平移,而是希望往下排。 這段代碼在IE中毫無問題,問題出在FF。原因是NOTfloatC並非float標簽,必須將float標簽閉合。 在<#div class=\"floatB\"> <#div class=\"NOTfloatC\"> 之間加上<#div class=\"clear\"> 這個div一定要注意聲明位置,一定要放在最恰當的地方,而且必須與兩個具有float屬性的div同級,之間不能存在嵌套關系,否則會產生異常。 並且將clear這種樣式定義為為如下即可:.clear{ clear:both;} 此外,為了讓高度能自動適應,要在wrapper里面加上overflow:hidden; |
9.如何居中一個浮動元素?
設置容器的浮動方式為相對定位
然后確定容器的寬高 比如寬500 高 300 的層
然后設置層的外邊距
Div{
Width:500px ;
height:300px;
Margin: -150px 0 0 -250px;
position: absolute;
left:50%;
top:50%;
}
10.有沒有關注HTML5和CSS3?如有請簡單說一些您對它們的了解情況!
在HTML 5平台上,視頻,音頻,圖象,動畫,以及同電腦的交互都被標准化。那么我們來看一下HTML5的技術概覽有哪些:
HTML5新增和移除的元素
HTML5新增了很多多媒體和交互性元素如video, audio,在HTML4當中如果要嵌入一個視頻或是音頻的話需要引入一大段的代碼,還有兼容各個瀏覽器,而HTML5只需要通過引入一個標簽就可以,就像img標簽一樣方便。
HTML5對表單的支持
HTML5 提供了強大的控件類型如url, email, date, tel等,強大的約束屬性,如required表示必填,文件上傳的accept屬性,以及一些表單重復元素模型的支持,HTML5在提交表單的時候還可以設置提交的方式為XML提交方式,這樣服務器端接收到的數據將是XML格式,HTML5的表單被定義為“Web Forms 2.0”,目前opera9.5+對Web Forms 2.0的支持較為完美。
HTML5 DOM變化
HTML5的Javascript APIs
HTML5在Javascript上面新增了哪些API呢?
Video/Audio: HTML5為Video和Audio提供了API來讓開發者控制他們自己的用戶界面,如可以播放或暫停媒體內容。
CSS3
CSS3對於我們Web開發者來說不只是新奇的技術,更重要的是這些全新概念的web應用給我們帶來更多無限的可能性,也極大地提高了我們的開發效率。我們將不必再依賴圖片或者Javascript 去完成圓角、多背景、用戶自定義字體、3D動畫、漸變、盒陰影、文字陰影、透明度等提高Web設計質量的特色應用。
CSS3對於動畫的支持
CSS3支持的動畫類型有:transform(變換)、transition(過渡)和animation(動畫)。你可以對特定的屬性設置transition,transiton和animation的區別不大,animation的動畫是自己定義的,面向的更多的是腳本開發者,往往更加復雜。
11.你怎么來實現下面這個設計圖,主要講述思路 (效果圖省略)
13:如果讓你來制作一個訪問量很高的大型網站,你會如何來管理所有CSS文件、JS與圖片?
14:你對前端界面工程師這個職位是怎么樣理解的?它的前景會怎么樣?
[Javascript]
1:js是什么,js和html 的開發如何結合?
2.怎樣添加、移除、移動、復制、創建和查找節點
3.怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別
4.面向對象編程:b怎么繼承a
5.看看下面alert的結果是什么
view sourceprint?1.function b(x, y, a) {
.arguments[2] = 10;
.alert(a);
}
b(1, 2, 3);
如果函數體改成下面,結果又會是什么?
a = 10;
alert(arguments[2] );
6.請編寫一個JavaScript函數 parseQueryString,它的用途是把URL參數解析為一個對象
var obj = parseQueryString(url);
alert(obj.key0) // 輸出0
7.ajax是什么? ajax的交互模型? 同步和異步的區別? 如何解決跨域問題?
ajax(動態網站靜態化)伴隨的goole 的推動,越來越多的站點開始使用了,在開大ajax(動態網站靜態化)程序的時候會遇到很多的問題,主要有以下幾個方面:
1.跨瀏覽器問題
2.歷史后退狀態問題
3.跨域問題
跨瀏覽器的問題因為現在有很多的開元的框架已經解決了,我們無需為此而煩惱。
歷史后退狀態問題我們可以使用一個數組來保存歷史紀錄,然后把這些數據村到歷史對象中去,中的也可以解決,並且還有很多的開元框架給與支持,這樣問題就不是很大。
跨域的問題就不是很好的解決,但是還是有辦法的,一下給出一些基本的解決方案供大家選擇:
1.使用代理,你可以使用web端的程序編寫代理程序,把所有的ajax(動態網站靜態化)請求的數據進行轉發,web程序可以使php(做為現在的主流開發語言),jsp(SUN企業級應用的首選),asp等所有的編程語言。相信大家對這種方式一定很熟悉,這里就不詳細的介紹了。
2.使用iframe的方式來定勢的刷新葉面,這種方式只是取得數據來顯示,並不能真正的和求得的數據進行交互,轉化成本頁面的動態數據,不是很可取,應用也不是很多,我也忽略不去討論了。
3.使用apache(Unix平台最流行的WEB服務器平台)的代理功能,主要就是apache(Unix平台最流行的WEB服務器平台)的方向代理,或者是url從定向,你也可以把其他的站點直接的掛在自己的網站上,這樣的方式可能會友邦權的問題,多的九部介紹了,有興趣的本有可以自己實踐以下。
4.使用《script》標簽的方式,這樣的話就可以保正使用真正的ajax(動態網站靜態化)來跨域,並且可以使用返回來的數據,發誓很簡單,在我們的后台程序處理后的到的結果都直接的用javascript 的方式返回,在我們的html中直接的使用返回數據的變量就可以了一個簡單的例子
8.什么是閉包?下面這個ul,如何點擊每一列的時候alert其index?
<ul id=”test”>
<li>這是第一條</li><li>這是第二條</li><li>這是第三條</li>
</ul>
9.最近看的一篇Javascript的文章是?
10.常使用的庫有哪些?常用的前端開發工具?開發過什么應用或組件?
pageSpeed .Yslow,Fiddler、fireBug
11.說說YSlow(可以詳細一點)
這個插件可以分析網站的頁面,並告訴你為了提高網站性能,如何基於某些規則而進行優化。
網頁制作方向的題目
1.什么是網站重構?div+css的布局較table布局有什么優點?
2.如何理解css盒模型?
3.平時做網頁經常使用哪些hack?
4.如何理解表現與內容相分離?
5.如何解決ie6的雙邊距問題?
6.如何定義高度為1px的容器?{heigh:1px; width:10px; background:#000; overflow:hidden}ie6下這個問題是默認行高造成的,overflow:hidden | zoom:0.08 | line-height:1px這樣也可以解決
7.如何實現一個層在瀏覽器中垂直左右居中?margin:auto
8.如何解決ie6的3像素問題?_zoom:1; margin-left: value; _margin-left: value-3px;
9.為什么FF下文本無法撐開容器的高度?如何解決? 清楚浮動
10.怎么樣才能讓層顯示在FLASH之上呢? 解決的辦法是給FLASH設置透明屬性<param name="wmode" value="transparent" />或者<param name="wmode" value="opaque" />
1、答:把"未采用CSS,大量使用HTML進行定位、布局,或者雖然已經采用CSS,但是未遵循HTML結構化標准的站點"變成"讓標記回歸標記的原本意義。通過在HTML文檔中使用結構化的標記以及用CSS控制頁面表現,使頁面的實際內容與它們呈現的格式相分離的站點。"的過程就是網站重構
網站為什么要進行重構(網站重構的好處)
a、使頁面加載得更快速;
b、降低帶寬帶來的費用:節約成本;
c、讓你在修改設計時更有效率而代價更低;
d、幫助你的整個站點保持視覺的一致性;
e、更利於搜索引擎的檢索(符合SEO的規范);
f、令站點更容易被各種瀏覽器和用戶訪問(包括手機、PDA和殘障人士使用的文字瀏覽器);
g、兼容不容忽視的Mozilla系瀏覽器(Firefox份額);
h、提高你的職場競爭實力(事實上也就是降低失業的風險)。
div+css的布局較table布局有什么優點:
1、改版的時候更方便 只要改css文件。2、頁面加載速度更快、結構化清晰、頁面顯示簡潔。3、表現與結構相分離。4、易於優化(seo)搜索引擎更友好,排名更容易靠前。
答:2.如何理解css盒模型 : 每個HTML元素都是長方形盒子 外邊局(margin)、內邊距(padding)、邊框(border);
答:3.平時做網頁用的css hack
Ie6 * _; ie7 *, *+,!important; ff !important.
答:4.表現與結構相分離簡單的說就是HTML中只有標簽元素 表現完全是由CSS文件控制的
答:5.解決ie6雙邊距問題塊級元素就加display:inline;行內元素轉塊級元素display:inline后面再加display:table
6.如何定義高度為1px的容器?
{heigh:1px; width:10px; background:#000; overflow:hidden}ie6下這個問題是默認行高造成的,overflow:hidden | zoom:0.08 | line-height:1px這樣也可以解決
7.如何實現一個層在 瀏覽器中垂直左右居中?
margin:auto
8.如何解決ie6的3像素 問題?
_zoom:1; margin-left: value; _margin-left: value-3px;
9.為什么FF下文本無法撐開容器的高度?如何解決?
清除浮動 .clear{ clear:both; height:0px; overflow:hidden;}
10.怎么樣才能讓層顯示在FLASH之上呢?
解決的辦法是給FLASH設置透明屬性
<param name="wmode" value="transparent" />或者<param name="wmode" value="opaque" />
補充:
1、margin-left:10px在FF和IE6下顯示問題。IE6顯示 20px,FF顯示10px。
用!important就可以解決了。margin-left:10px !important;margin-left:5px;
2、cursor:hand在FF不顯示小手,如何解決?
一句話:cursor;pointer;
3、要求在FF顯示height為20px;IE6下顯示height為25px;IE7下顯示height為30px.
#test{height:20px;}
*html #test{height:25px;}
*+html #test{height:30px;}
這個以前我們說過,請參考【IE6的瘋狂Bug之九】解決CSS兼容性最常用的"Haker"
三個就寫上,FF只認識第一個#test,IE6只認識第二個*html #test,IE7只認識第三個*+html #test
PS:DTD必須加上<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd“>要不還是不認。
4、在IE中內容會自適應高度,而FF不會自適應高度。
在要自適應高度的層中加一個層,樣式為
.clear{clear:both;font-size:0px;height:1px},
這樣解決有一個小小的問題,高度會多一個像素。還有一種解決方法,給當前層加上一個偽類
#test:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
1.超鏈接訪問過后hover樣式就不出現的問題?
被點擊訪問過的超鏈接樣式不在具有hover和active了,解決方法是改變CSS屬性的排列順序: L-V-H-A
2.IE6的雙倍邊距BUG
例如:
<style type="text/css">
body {margin:0}
div { float:left; margin-left:10px; width:200px; height:200px; border:1px solid red }
</style>
浮動后本來外邊距10px,但IE解釋為20px,解決辦法是加上display:inline
3.為什么FF下文本無法撐開容器的高度?
標准瀏覽器中固定高度值的容器是不會象IE6里那樣被撐開的,那我又想固定高度,又想能被撐開需要怎樣設置呢?辦法就是去掉he ight設置min-height:200px; 這里為了照顧不認識min-height的IE6 可以這樣定義:
div { height:auto!important; height:200px; min-height:200px; }
4.為什么web標准中IE無法設置滾動條顏色了?
原來樣式設置:
<style type="text/css">
body { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff; }
</style>
解決辦法是將body換成html
5.為什么無法定義1px左右高度的容器?
IE6下這個問題是因為默認的行高造成的,解決的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px
6.怎么樣才能讓層顯示在FLASH之上呢?
解決的辦法是給FLASH設置透明:
<param name="wmode" value="transparent" />
7.怎樣使一個層垂直居中於瀏覽器中?
<style type="text/css">
<!--
div {
position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -100px;
width:200px;
height:200px;
border:1px solid red;
}
-->
</style>
這里使用百分比絕對定位,與外補丁負值的方法,負值的大小為其自身寬度高度除以二
8、firefox嵌套div標簽的居中問題的解決方法
假定有如下情況:
<div id="a">
<div id="b"> </div>
</div>
如果要實現b在a中居中放置,一般只需用CSS設置a的text-align屬性為center。這樣的方法在IE里看起來一切正常;但是在Firefox中b卻會是居左的。
解決辦法就是設置b的橫向margin為auto。例如設置b的CSS樣式為:margin: 0 auto;。









