html&css

一、HTML和CSS

1. 你做的頁面在哪些流覽器測試過豺鼻?這些瀏覽器的內(nèi)核分別是什么?

IE: trident內(nèi)核

Firefox:gecko內(nèi)核

Safari:webkit內(nèi)核

Opera:以前是presto內(nèi)核骤铃,Opera現(xiàn)已改用Google Chrome的Blink內(nèi)核

Chrome:Blink(基于webkit皆撩,Google與Opera Software共同開發(fā))

2. 每個HTML文件里開頭都有個很重要的東西屠橄,Doctype座硕,知道這是干什么的嗎趾浅?

<!DOCTYPE> 聲明位于文檔中的最前面的位置愕提,處于 <html> 標簽之前。此標簽可告知瀏覽器文檔使用哪種 HTML 或 XHTML 規(guī)范皿哨。(重點:告訴瀏覽器按照何種規(guī)范解析頁面)

3. Quirks模式是什么浅侨?它和Standards模式有什么區(qū)別

從IE6開始,引入了Standards模式证膨,標準模式中如输,瀏覽器嘗試給符合標準的文檔在規(guī)范上的正確處理達到在指定瀏覽器中的程度。

在IE6之前CSS還不夠成熟央勒,所以IE5等之前的瀏覽器對CSS的支持很差不见, IE6將對CSS提供更好的支持,然而這時的問題就來了崔步,因為有很多頁面是基于舊的布局方式寫的稳吮,而如果IE6 支持CSS則將令這些頁面顯示不正常,如何在即保證不破壞現(xiàn)有頁面井濒,又提供新的渲染機制呢灶似?

在寫程序時我們也會經(jīng)常遇到這樣的問題列林,如何保證原來的接口不變,又提供更強大的功能酪惭,尤其是新功能不兼容舊功能時希痴。遇到這種問題時的一個常見做法是增加參數(shù)和分支,即當某個參數(shù)為真時春感,我們就使用新功能砌创,而如果這個參數(shù) 不為真時,就使用舊功能鲫懒,這樣就能不破壞原有的程序嫩实,又提供新功能。IE6也是類似這樣做的刀疙,它將DTD當成了這個“參數(shù)”,因為以前的頁面大家都不會去寫DTD扫倡,所以IE6就假定 如果寫了DTD谦秧,就意味著這個頁面將采用對CSS支持更好的布局,而如果沒有撵溃,則采用兼容之前的布局方式疚鲤。這就是Quirks模式(怪癖模式,詭異模式缘挑,怪異模式)集歇。

區(qū)別:

總體會有布局、樣式解析和腳本執(zhí)行三個方面的區(qū)別语淘。

盒模型:在W3C標準中诲宇,如果設(shè)置一個元素的寬度和高度,指的是元素內(nèi)容的寬度和高度惶翻,而在Quirks 模式下姑蓝,IE的寬度和高度還包含了padding和border。

[圖片上傳失敗...(image-88f0e2-1558493875363)]

設(shè)置行內(nèi)元素的高寬:在Standards模式下吕粗,給<span>等行內(nèi)元素設(shè)置wdith和height都不會生效纺荧,而在quirks模式下,則會生效颅筋。

設(shè)置百分比的高度:在standards模式下宙暇,一個元素的高度是由其包含的內(nèi)容來決定的,如果父元素沒有設(shè)置百分比的高度议泵,子元素設(shè)置一個百分比的高度是無效的用margin:0 auto設(shè)置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中占贫,但在quirks模式下卻會失效。

(還有很多先口,答出什么不重要靶剑,關(guān)鍵是看他答出的這些是不是自己經(jīng)驗遇到的蜻拨,還是說都是看文章看的,甚至完全不知道桩引。)

4. div+css的布局較table布局有什么優(yōu)點缎讼?

改版的時候更方便 只要改css文件。

頁面加載速度更快坑匠、結(jié)構(gòu)化清晰血崭、頁面顯示簡潔。

表現(xiàn)與結(jié)構(gòu)相分離厘灼。

易于優(yōu)化(seo)搜索引擎更友好夹纫,排名更容易靠前。

5. img的alt與title有何異同设凹? strong與em的異同舰讹?

a:alt(alt text):為不能顯示圖像、窗體或applets的用戶代理(UA)闪朱,alt屬性用來指定替換文字月匣。替換文字的語言由lang屬性指定。(在IE瀏覽器下會在沒有title時把alt當成 tool tip顯示)

title(tool tip):該屬性為設(shè)置該屬性的元素提供建議性的信息奋姿。

strong:粗體強調(diào)標簽锄开,強調(diào),表示內(nèi)容的重要性

em:斜體強調(diào)標簽称诗,更強烈強調(diào)萍悴,表示內(nèi)容的強調(diào)點

6. 你能描述一下漸進增強和優(yōu)雅降級之間的不同嗎?

漸進增強 progressive enhancement:針對低版本瀏覽器進行構(gòu)建頁面,保證最基本的功能寓免,然后再針對高級瀏覽器進行效果癣诱、交互等改進和追加功能達到更好的用戶體驗。

優(yōu)雅降級 graceful degradation:一開始就構(gòu)建完整的功能袜香,然后再針對低版本瀏覽器進行兼容狡刘。

區(qū)別:優(yōu)雅降級是從復雜的現(xiàn)狀開始,并試圖減少用戶體驗的供給困鸥,而漸進增強則是從一個非承崾撸基礎(chǔ)的,能夠起作用的版本開始疾就,并不斷擴充澜术,以適應(yīng)未來環(huán)境的需要。降級(功能衰減)意味著往回看猬腰;而漸進增強則意味著朝前看鸟废,同時保證其根基處于安全地帶。

“優(yōu)雅降級”觀點

“優(yōu)雅降級”觀點認為應(yīng)該針對那些最高級姑荷、最完善的瀏覽器來設(shè)計網(wǎng)站盒延。而將那些被認為“過時”或有功能缺失的瀏覽器下的測試工作安排在開發(fā)周期的最后階段缩擂,并把測試對象限定為主流瀏覽器(如 IE、Mozilla 等)的前一個版本添寺。

在這種設(shè)計范例下胯盯,舊版的瀏覽器被認為僅能提供“簡陋卻無妨 (poor, but passable)” 的瀏覽體驗。你可以做一些小的調(diào)整來適應(yīng)某個特定的瀏覽器计露。但由于它們并非我們所關(guān)注的焦點博脑,因此除了修復較大的錯誤之外,其它的差異將被直接忽略票罐。

“漸進增強”觀點

“漸進增強”觀點則認為應(yīng)關(guān)注于內(nèi)容本身叉趣。

內(nèi)容是我們建立網(wǎng)站的誘因。有的網(wǎng)站展示它该押,有的則收集它疗杉,有的尋求,有的操作蚕礼,還有的網(wǎng)站甚至會包含以上的種種烟具,但相同點是它們?nèi)忌婕暗絻?nèi)容。這使得“漸進增強”成為一種更為合理的設(shè)計范例闻牡。這也是它立即被 Yahoo! 所采納并用以構(gòu)建其“分級式瀏覽器支持 (Graded Browser Support)”策略的原因所在净赴。

那么問題來了∩兀現(xiàn)在產(chǎn)品經(jīng)理看到IE6,7,8網(wǎng)頁效果相對高版本現(xiàn)代瀏覽器少了很多圓角罩润,陰影(CSS3),要求兼容(使用圖片背景翼馆,放棄CSS3)割以,你會如何說服他?

7. 為什么利用多個域名來存儲網(wǎng)站資源會更有效应媚?

CDN緩存更方便

突破瀏覽器并發(fā)限制

節(jié)約cookie帶寬

節(jié)約主域名的連接數(shù)严沥,優(yōu)化頁面響應(yīng)速度

防止不必要的安全問題

8. 請談一下你對網(wǎng)頁標準和標準制定機構(gòu)重要性的理解。

網(wǎng)頁標準和標準制定機構(gòu)都是為了能讓web發(fā)展的更‘健康’中姜,開發(fā)者遵循統(tǒng)一的標準消玄,降低開發(fā)難度,開發(fā)成本丢胚,SEO也會更好做翩瓜,也不會因為濫用代碼導致各種BUG、安全問題携龟,最終提高網(wǎng)站易用性兔跌。

9. 請描述一下cookies,sessionStorage和localStorage的區(qū)別峡蟋?

sessionStorage用于本地存儲一個會話(session)中的數(shù)據(jù)坟桅,這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當會話結(jié)束后數(shù)據(jù)也隨之銷毀华望。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲仅乓。而localStorage用于持久化的本地存儲赖舟,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是永遠不會過期的方灾。

web storage和cookie的區(qū)別

Web Storage的概念和cookie相似建蹄,區(qū)別是它是為了更大容量存儲設(shè)計的。Cookie的大小是受限的裕偿,并且每次你請求一個新的頁面的時候Cookie都會被發(fā)送過去洞慎,這樣無形中浪費了帶寬,另外cookie還需要指定作用域嘿棘,不可以跨域調(diào)用劲腿。

除此之外,Web Storage擁有setItem,getItem,removeItem,clear等方法鸟妙,不像cookie需要前端開發(fā)者自己封裝setCookie焦人,getCookie。但是Cookie也是不可以或缺的:Cookie的作用是與服務(wù)器進行交互重父,作為HTTP規(guī)范的一部分而存在 花椭,而Web Storage僅僅是為了在本地“存儲”數(shù)據(jù)而生。

10. 簡述一下src與href的區(qū)別房午。

src用于替換當前元素矿辽,href用于在當前文檔和引用資源之間確立聯(lián)系。

src是source的縮寫郭厌,指向外部資源的位置袋倔,指向的內(nèi)容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向的資源下載并應(yīng)用到文檔內(nèi)折柠,例如js腳本宾娜,img圖片和frame等元素。

<script src =”js.js”></script>

當瀏覽器解析到該元素時扇售,會暫停其他資源的下載和處理前塔,直到將該資源加載、編譯承冰、執(zhí)行完畢华弓,圖片和框架等元素也如此,類似于將所指向資源嵌入當前標簽內(nèi)巷懈。這也是為什么將js腳本放在底部而不是頭部该抒。

href是Hypertext Reference的縮寫,指向網(wǎng)絡(luò)資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接凑保,如果我們在文檔中添加

<link href=”common.css” rel=”stylesheet”/>

那么瀏覽器會識別該文檔為css文件冈爹,就會并行下載資源并且不會停止對當前文檔的處理。這也是為什么建議使用link方式來加載css欧引,而不是使用@import方式频伤。

11. 知道的網(wǎng)頁制作會用到的圖片格式有哪些?

png-8芝此,png-24憋肖,jpeg,gif婚苹,svg岸更。

但是上面的那些都不是面試官想要的最后答案。面試官希望聽到是Webp膊升。(是否有關(guān)注新技術(shù)怎炊,新鮮事物)

科普一下Webp:WebP格式,谷歌(google)開發(fā)的一種旨在加快圖片加載速度的圖片格式廓译。圖片壓縮體積大約只有JPEG的2/3评肆,并能節(jié)省大量的服務(wù)器帶寬資源和數(shù)據(jù)空間。Facebook Ebay等知名網(wǎng)站已經(jīng)開始測試并使用WebP格式非区。

在質(zhì)量相同的情況下瓜挽,WebP格式圖像的體積要比JPEG格式圖像小40%

12. 知道什么是微格式嗎?談?wù)劺斫庹鞒瘛T谇岸藰?gòu)建中應(yīng)該考慮微格式嗎久橙?

微格式(Microformats)是一種讓機器可讀的語義化XHTML詞匯的集合,是結(jié)構(gòu)化數(shù)據(jù)的開放標準歹垫。是為特殊應(yīng)用而制定的特殊格式剥汤。

優(yōu)點:將智能數(shù)據(jù)添加到網(wǎng)頁上颠放,讓網(wǎng)站內(nèi)容在搜索引擎結(jié)果界面可以顯示額外的提示排惨。(應(yīng)用范例:豆瓣,有興趣自行g(shù)oogle)

13. 在css/js代碼上線之后開發(fā)人員經(jīng)常會優(yōu)化性能碰凶,從用戶刷新網(wǎng)頁開始暮芭,一次js請求一般情況下有哪些地方會有緩存處理?

答案:dns緩存欲低,cdn緩存辕宏,瀏覽器緩存,服務(wù)器緩存砾莱。

14. 一個頁面上有大量的圖片(大型電商網(wǎng)站)瑞筐,加載很慢,你有哪些方法優(yōu)化這些圖片的加載腊瑟,給用戶更好的體驗聚假。

圖片懶加載块蚌,在頁面上的未可視區(qū)域可以添加一個滾動條事件,判斷圖片位置與瀏覽器頂端的距離與頁面的距離膘格,如果前者小于后者峭范,優(yōu)先加載。

如果為幻燈片瘪贱、相冊等纱控,可以使用圖片預加載技術(shù),將當前展示圖片的前一張和后一張優(yōu)先下載菜秦。

如果圖片為css圖片甜害,可以使用CSSsprite,SVGsprite球昨,Iconfont唾那、Base64等技術(shù)。

如果圖片過大褪尝,可以使用特殊編碼的圖片闹获,加載時會先加載一張壓縮的特別厲害的縮略圖,以提高用戶體驗河哑。

如果圖片展示區(qū)域小于圖片的真實大小避诽,則因在服務(wù)器端根據(jù)業(yè)務(wù)需要先行進行圖片壓縮争剿,圖片壓縮后大小與展示一致嬉愧。

15. 你如何理解HTML結(jié)構(gòu)的語義化?

去掉或樣式丟失的時候能讓頁面呈現(xiàn)清晰的結(jié)構(gòu):

html本身是沒有表現(xiàn)的咸这,我們看到例如<h1>是粗體佳吞,字體大小2em拱雏,加粗;<strong>是加粗的底扳,不要認為這是html的表現(xiàn)铸抑,這些其實html默認的css樣式在起作用,所以去掉或樣式丟失的時候能讓頁面呈現(xiàn)清晰的結(jié)構(gòu)不是語義化的HTML結(jié)構(gòu)的優(yōu)點衷模,但是瀏覽器都有有默認樣式鹊汛,默認樣式的目的也是為了更好的表達html的語義,可以說瀏覽器的默認樣式和語義化的HTML結(jié)構(gòu)是不可分割的阱冶。

屏幕閱讀器(如果訪客有視障)會完全根據(jù)你的標記來“讀”你的網(wǎng)頁.

例如,如果你使用的含語義的標記,屏幕閱讀器就會“逐個拼出”你的單詞,而不是試著去對它完整發(fā)音.

PDA刁憋、手機等設(shè)備可能無法像普通電腦的瀏覽器一樣來渲染網(wǎng)頁(通常是因為這些設(shè)備對CSS的支持較弱)

使用語義標記可以確保這些設(shè)備以一種有意義的方式來渲染網(wǎng)頁.理想情況下,觀看設(shè)備的任務(wù)是符合設(shè)備本身的條件來渲染網(wǎng)頁.

語義標記為設(shè)備提供了所需的相關(guān)信息,就省去了你自己去考慮所有可能的顯示情況(包括現(xiàn)有的或者將來新的設(shè)備).例如,一部手機可以選擇使一段標記了標題的文字以粗體顯示.而掌上電腦可能會以比較大的字體來顯示.無論哪種方式一旦你對文本標記為標題,您就可以確信讀取設(shè)備將根據(jù)其自身的條件來合適地顯示頁面.

搜索引擎的爬蟲也依賴于標記來確定上下文和各個關(guān)鍵字的權(quán)重

過去你可能還沒有考慮搜索引擎的爬蟲也是網(wǎng)站的“訪客”,但現(xiàn)在它們他們實際上是極其寶貴的用戶.沒有他們的話,搜索引擎將無法索引你的網(wǎng)站,然后一般用戶將很難過來訪問.

你的頁面是否對爬蟲容易理解非常重要,因為爬蟲很大程度上會忽略用于表現(xiàn)的標記,而只注重語義標記.

因此,如果頁面文件的標題被標記,而不是,那么這個頁面在搜索結(jié)果的位置可能會比較靠后.除了提升易用性外,語義標記有利于正確使用CSS和JavaScript,因為其本身提供了許多“鉤鉤”來應(yīng)用頁面的樣式與行為.

SEO主要還是靠你網(wǎng)站的內(nèi)容和外部鏈接的。

便于團隊開發(fā)和維護

W3C給我們定了一個很好的標準木蹬,在團隊中大家都遵循這個標準至耻,可以減少很多差異化的東西,方便開發(fā)和維護,提高開發(fā)效率尘颓,甚至實現(xiàn)模塊化開發(fā)是尖。

16. 談?wù)勔郧岸私嵌瘸霭l(fā)做好SEO需要考慮什么?

了解搜索引擎如何抓取網(wǎng)頁和如何索引網(wǎng)頁

你需要知道一些搜索引擎的基本工作原理泥耀,各個搜索引擎之間的區(qū)別饺汹,搜索機器人(SE robot 或叫 web crawler)如何進行工作,搜索引擎如何對搜索結(jié)果進行排序等等痰催。

Meta標簽優(yōu)化

主要包括主題(Title)兜辞,網(wǎng)站描述(Description),和關(guān)鍵詞(Keywords)夸溶。還有一些其它的隱藏文字比如Author(作者)逸吵,Category(目錄),Language(編碼語種)等缝裁。

如何選取關(guān)鍵詞并在網(wǎng)頁中放置關(guān)鍵詞

搜索就得用關(guān)鍵詞扫皱。關(guān)鍵詞分析和選擇是SEO最重要的工作之一。首先要給網(wǎng)站確定主關(guān)鍵詞(一般在5個上下)捷绑,然后針對這些關(guān)鍵詞進行優(yōu)化韩脑,包括關(guān)鍵詞密度(Density),相關(guān)度(Relavancy)粹污,突出性(Prominency)等等段多。

了解主要的搜索引擎

雖然搜索引擎有很多,但是對網(wǎng)站流量起決定作用的就那么幾個壮吩。比如英文的主要有Google进苍,Yahoo,Bing等鸭叙;中文的有百度觉啊,搜狗,有道等沈贝。不同的搜索引擎對頁面的抓取和索引杠人、排序的規(guī)則都不一樣。還要了解各搜索門戶和搜索引擎之間的關(guān)系缀程,比如AOL網(wǎng)頁搜索用的是Google的搜索技術(shù)搜吧,MSN用的是Bing的技術(shù)市俊。

主要的互聯(lián)網(wǎng)目錄

Open Directory自身不是搜索引擎杨凑,而是一個大型的網(wǎng)站目錄,他和搜索引擎的主要區(qū)別是網(wǎng)站內(nèi)容的收集方式不同摆昧。目錄是人工編輯的撩满,主要收錄網(wǎng)站主頁;搜索引擎是自動收集的,除了主頁外還抓取大量的內(nèi)容頁面伺帘。

按點擊付費的搜索引擎

搜索引擎也需要生存昭躺,隨著互聯(lián)網(wǎng)商務(wù)的越來越成熟,收費的搜索引擎也開始大行其道伪嫁。最典型的有Overture和百度领炫,當然也包括Google的廣告項目Google Adwords。越來越多的人通過搜索引擎的點擊廣告來定位商業(yè)網(wǎng)站张咳,這里面也大有優(yōu)化和排名的學問帝洪,你得學會用最少的廣告投入獲得最多的點擊。

搜索引擎登錄

網(wǎng)站做完了以后脚猾,別躺在那里等著客人從天而降葱峡。要讓別人找到你,最簡單的辦法就是將網(wǎng)站提交(submit)到搜索引擎龙助。如果你的是商業(yè)網(wǎng)站砰奕,主要的搜索引擎和目錄都會要求你付費來獲得收錄(比如Yahoo要299美元),但是好消息是(至少到目前為止)最大的搜索引擎Google目前還是免費提鸟,而且它主宰著60%以上的搜索市場军援。

鏈接交換和鏈接廣泛度(Link Popularity)

網(wǎng)頁內(nèi)容都是以超文本(Hypertext)的方式來互相鏈接的,網(wǎng)站之間也是如此称勋。除了搜索引擎以外盖溺,人們也每天通過不同網(wǎng)站之間的鏈接來Surfing(“沖浪”)。其它網(wǎng)站到你的網(wǎng)站的鏈接越多铣缠,你也就會獲得更多的訪問量烘嘱。更重要的是,你的網(wǎng)站的外部鏈接數(shù)越多蝗蛙,會被搜索引擎認為它的重要性越大蝇庭,從而給你更高的排名。

合理的標簽使用

17. 有哪項方式可以對一個DOM設(shè)置它的CSS樣式捡硅?

外部樣式表哮内,引入一個外部css文件

內(nèi)部樣式表,將css代碼放在 <head> 標簽內(nèi)部

內(nèi)聯(lián)樣式壮韭,將css樣式直接定義在 HTML 元素內(nèi)部

18. CSS都有哪些選擇器北发?

派生選擇器(用HTML標簽申明)

id選擇器(用DOM的ID申明)

類選擇器(用一個樣式類名申明)

屬性選擇器(用DOM的屬性申明,屬于CSS2喷屋,IE6不支持琳拨,不常用,不知道就算了)

除了前3種基本選擇器屯曹,還有一些擴展選擇器狱庇,包括

后代選擇器(利用空格間隔惊畏,比如div .a{ })

群組選擇器(利用逗號間隔,比如p,div,#a{ })

那么問題來了密任,CSS選擇器的優(yōu)先級是怎么樣定義的颜启?

基本原則:

一般而言,選擇器越特殊浪讳,它的優(yōu)先級越高缰盏。也就是選擇器指向的越準確,它的優(yōu)先級就越高淹遵。

復雜的計算方法:

用1表示派生選擇器的優(yōu)先級

用10表示類選擇器的優(yōu)先級

用100標示ID選擇器的優(yōu)先級

div.test1 .span var 優(yōu)先級 1+10 +10 +1

span#xxx .songs li 優(yōu)先級1+100 + 10 + 1

xxx li 優(yōu)先級 100 +1

那么問題來了乳规,看下列代碼,<p>標簽內(nèi)的文字是什么顏色的合呐?

<style>

.classA{ color:blue;}

.classB{ color:red;}

</style>

<body>

<p class='classB classA'> 123 </p>

</body>

答案:red暮的。與樣式定義在文件中的先后順序有關(guān),即是后面的覆蓋前面的淌实,與在<p class=’classB classA’>中的先后關(guān)系無關(guān)冻辩。

19. CSS中可以通過哪些屬性定義,使得一個DOM元素不顯示在瀏覽器可視范圍內(nèi)拆祈?

最基本的:

設(shè)置display屬性為none恨闪,或者設(shè)置visibility屬性為hidden

技巧性:

設(shè)置寬高為0,設(shè)置透明度為0放坏,設(shè)置z-index位置在-1000em

20. 超鏈接訪問過后hover樣式就不出現(xiàn)的問題是什么咙咽?如何解決?

答案:被點擊訪問過的超鏈接樣式不在具有hover和active了,解決方法是改變CSS屬性的排列順序: L-V-H-A(link,visited,hover,active)

21. 什么是Css Hack淤年?ie6,7,8的hack分別是什么钧敞?

答案:針對不同的瀏覽器寫不同的CSS code的過程,就是CSS hack麸粮。

示例如下:

test{

    width:300px;  

    height:300px;  

    background-color:blue;      /*firefox*/

    background-color:red\9;      /*all ie*/

    background-color:yellow;    /*ie8*/

    +background-color:pink;        /*ie7*/

    _background-color:orange;       /*ie6*/    } 

    :root #test { background-color:purple\9; }  /*ie9*/

@media all and (min-width:0px)

{ #test {background-color:black;} } /opera/

@media screen and (-webkit-min-device-pixel-ratio:0)

{ #test {background-color:gray;} } /chrome and safari/

22. 行內(nèi)元素和塊級元素的具體區(qū)別是什么溉苛?行內(nèi)元素的padding和margin可設(shè)置嗎?

塊級元素(block)特性:

總是獨占一行弄诲,表現(xiàn)為另起一行開始愚战,而且其后的元素也必須另起一行顯示;

寬度(width)、高度(height)齐遵、內(nèi)邊距(padding)和外邊距(margin)都可控制;

內(nèi)聯(lián)元素(inline)特性:

和相鄰的內(nèi)聯(lián)元素在同一行;

寬度(width)寂玲、高度(height)、內(nèi)邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變(也就是padding和margin的left和right是可以設(shè)置的)梗摇,就是里面文字或圖片的大小拓哟。

那么問題來了,瀏覽器還有默認的天生inline-block元素(擁有內(nèi)在尺寸留美,可設(shè)置高寬彰檬,但不會自動換行)伸刃,有哪些谎砾?

答案:<input> 逢倍、<img> 、<button> 景图、<texterea> 较雕、<label>。

23. 什么是外邊距重疊挚币?重疊的結(jié)果是什么亮蒋?

外邊距重疊就是margin-collapse。

在CSS當中妆毕,相鄰的兩個盒子(可能是兄弟關(guān)系也可能是祖先關(guān)系)的外邊距可以結(jié)合成一個單獨的外邊距慎玖。這種合并外邊距的方式被稱為折疊,并且因而所結(jié)合成的外邊距稱為折疊外邊距笛粘。

折疊結(jié)果遵循下列計算規(guī)則:

兩個相鄰的外邊距都是正數(shù)時趁怔,折疊結(jié)果是它們兩者之間較大的值。

兩個相鄰的外邊距都是負數(shù)時薪前,折疊結(jié)果是兩者絕對值的較大值润努。

兩個外邊距一正一負時,折疊結(jié)果是兩者的相加的和示括。

24. rgba()和opacity的透明效果有什么不同铺浇?

rgba()和opacity都能實現(xiàn)透明效果,但最大的不同是opacity作用于元素垛膝,以及元素內(nèi)的所有內(nèi)容的透明度鳍侣,

而rgba()只作用于元素的顏色或其背景色。(設(shè)置rgba透明的元素的子元素不會繼承透明效果:鹩怠)

25. css中可以讓文字在垂直和水平方向上重疊的兩個屬性是什么拱她?

垂直方向:line-height

水平方向:letter-spacing

那么問題來了,關(guān)于letter-spacing的妙用知道有哪些么扔罪?

答案:可以用于消除inline-block元素間的換行符空格間隙問題秉沼。

26. 如何垂直居中一個浮動元素?

|

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

|

// 方法一:已知元素的高寬

div1{

background-color:#6699FF;

width:200px;

height:200px;

position: absolute;        //父元素需要相對定位

top: 50%;

left: 50%;

margin-top:-100px ;   //二分之一的height矿酵,width

margin-left: -100px;

}

//方法二:未知元素的高寬

div1{

width: 200px;

height: 200px;

background-color: #6699FF;

margin:auto;

position: absolute;        //父元素需要相對定位

left: 0;

top: 0;

right: 0;

bottom: 0;

}

|

那么問題來了唬复,如何垂直居中一個<img>?(用更簡便的方法。)

|

1

2

3

4

5

6

|

container //<img>的容器設(shè)置如下

{

display:table-cell;

text-align:center;

vertical-align:middle;

}

|

27. px和em的區(qū)別全肮。

px和em都是長度單位敞咧,區(qū)別是,px的值是固定的辜腺,指定是多少就是多少休建,計算比較容易乍恐。em得值不是固定的,并且em會繼承父級元素的字體大小测砂。

瀏覽器的默認字體高都是16px茵烈。所以未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em砌些。

28. 描述一個”reset”的CSS文件并如何使用它呜投。知道normalize.css嗎?你了解他們的不同之處存璃?

重置樣式非常多仑荐,凡是一個前端開發(fā)人員肯定有一個常用的重置CSS文件并知道如何使用它們。他們是盲目的在做還是知道為什么這么做呢纵东?原因是不同的瀏覽器對一些元素有不同的默認樣式粘招,如果你不處理,在不同的瀏覽器下會存在必要的風險偎球,或者更有戲劇性的性發(fā)生洒扎。

你可能會用Normalize來代替你的重置樣式文件。它沒有重置所有的樣式風格甜橱,但僅提供了一套合理的默認樣式值逊笆。既能讓眾多瀏覽器達到一致和合理,但又不擾亂其他的東西(如粗體的標題)岂傲。

在這一方面难裆,無法做每一個復位重置。它也確實有些超過一個重置镊掖,它處理了你永遠都不用考慮的怪癖乃戈,像HTML的audio元素不一致或line-height不一致。

29. Sass亩进、LESS是什么症虑?大家為什么要使用他們?

他們是CSS預處理器归薛。他是CSS上的一種抽象層谍憔。他們是一種特殊的語法/語言編譯成CSS。

例如Less是一種動態(tài)樣式語言. 將CSS賦予了動態(tài)語言的特性主籍,如變量习贫,繼承,運算千元, 函數(shù). LESS 既可以在客戶端上運行 (支持IE 6+, Webkit, Firefox)苫昌,也可一在服務(wù)端運行 (借助 Node.js)。

為什么要使用它們幸海?

結(jié)構(gòu)清晰祟身,便于擴展奥务。

可以方便地屏蔽瀏覽器私有語法差異。這個不用多說袜硫,封裝對瀏覽器語法差異的重復處理氯葬,減少無意義的機械勞動。

可以輕松實現(xiàn)多重繼承父款。

完全兼容 CSS 代碼溢谤,可以方便地應(yīng)用到老項目中瞻凤。LESS 只是在 CSS 語法上做了擴展憨攒,所以老的 CSS 代碼也可以與 LESS 代碼一同編譯。

30. display:none與visibility:hidden的區(qū)別是什么阀参?

display : 隱藏對應(yīng)的元素但不擠占該元素原來的空間肝集。

visibility: 隱藏對應(yīng)的元素并且擠占該元素原來的空間。

即是蛛壳,使用CSS display:none屬性后杏瞻,HTML元素(對象)的寬度、高度等各種屬性值都將“丟失”;而使用visibility:hidden屬性后衙荐,HTML元素(對象)僅僅是在視覺上看不見(完全透明)捞挥,而它所占據(jù)的空間位置仍然存在。

31. CSS中l(wèi)ink和@import的區(qū)別是:

Link屬于html標簽忧吟,而@import是CSS中提供的

在頁面加載的時候砌函,link會同時被加載,而@import引用的CSS會在頁面加載完成后才會加載引用的CSS

@import只有在ie5以上才可以被識別溜族,而link是html標簽讹俊,不存在瀏覽器兼容性問題

Link引入樣式的權(quán)重大于@import的引用(@import是將引用的樣式導入到當前的頁面中)

32. 簡介盒子模型:

CSS的盒子模型有兩種:IE盒子模型、標準的W3C盒子模型模型

盒模型:內(nèi)容煌抒、內(nèi)邊距仍劈、外邊距(一般不計入盒子實際寬度)、邊框

[圖片上傳失敗...(image-b2123f-1558493875372)]

33. 為什么要初始化樣式寡壮?

由于瀏覽器兼容的問題贩疙,不同的瀏覽器對標簽的默認樣式值不同,若不初始化會造成不同瀏覽器之間的顯示差異

但是初始化CSS會對搜索引擎優(yōu)化造成小影響

34. BFC是什么?

BFC(塊級格式化上下文)况既,一個創(chuàng)建了新的BFC的盒子是獨立布局的这溅,盒子內(nèi)元素的布局不會影響盒子外面的元素。在同一個BFC中的兩個相鄰的盒子在垂直方向發(fā)生margin重疊的問題

BFC是指瀏覽器中創(chuàng)建了一個獨立的渲染區(qū)域坏挠,該區(qū)域內(nèi)所有元素的布局不會影響到區(qū)域外元素的布局芍躏,這個渲染區(qū)域只對塊級元素起作用

35. html語義化是什么?

當頁面樣式加載失敗的時候能夠讓頁面呈現(xiàn)出清晰的結(jié)構(gòu)

有利于seo優(yōu)化降狠,利于被搜索引擎收錄(更便于搜索引擎的爬蟲程序來識別)

便于項目的開發(fā)及維護对竣,使html代碼更具有可讀性庇楞,便于其他設(shè)備解析。

36. Doctype的作用否纬?嚴格模式與混雜模式的區(qū)別吕晌?

<!DOCTYPE>用于告知瀏覽器該以何種模式來渲染文檔

嚴格模式下:頁面排版及JS解析是以該瀏覽器支持的最高標準來執(zhí)行

混雜模式:不嚴格按照標準執(zhí)行,主要用來兼容舊的瀏覽器临燃,向后兼容

37. IE的雙邊距BUG:塊級元素float后設(shè)置橫向margin睛驳,ie6顯示的margin比設(shè)置的較大。

解決:加入_display:inline

38. HTML與XHTML——二者有什么區(qū)別膜廊?

1. 所有的標記都必須要有一個相應(yīng)的結(jié)束標記

2. 所有標簽的元素和屬性的名字都必須使用小寫

3. 所有的 XML 標記都必須合理嵌套

4. 所有的屬性必須用引號 "" 括起來

5. 把所有 < 和 & 特殊符號用編碼表示

6. 給所有屬性賦一個值

7. 不要在注釋內(nèi)容中使用 "--"

8. 圖片必須有說明文字

39. html常見兼容性問題乏沸?

1.雙邊距BUG float引起的 使用display

2.3像素問題 使用float引起的 使用dislpay:inline -3px

3.超鏈接hover 點擊后失效 使用正確的書寫順序 link visited hover active

4.Ie z-index問題 給父級添加position:relative

5.Png 透明 使用js代碼 改

6.Min-height 最小高度 !Important 解決’

7.select 在ie6下遮蓋 使用iframe嵌套

8.為什么沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的爪瓜,使用over:hidden,zoom:0.08 line-height:1px)

9.IE5-8不支持opacity蹬跃,解決辦法:

.opacity {

opacity: 0.4

filter: alpha(opacity=60); /* for IE5-7 */

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* for IE 8*/

}

  1. IE6不支持PNG透明背景,解決辦法: IE6下使用gif圖片

40. 對WEB標準以及W3C的理解與認識

答:標簽閉合铆铆、標簽小寫蝶缀、不亂嵌套、提高搜索機器人搜索幾率薄货、使用外 鏈css和js腳本翁都、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁面速度更快谅猾、內(nèi)容能被更多的用戶所訪問柄慰、內(nèi)容能被更廣泛的設(shè)備所訪問、更少的代碼和組件赊瞬,容易維 護先煎、改版方便,不需要變動頁面內(nèi)容巧涧、提供打印版本而不需要復制內(nèi)容薯蝎、提高網(wǎng)站易用性。

41. 行內(nèi)元素有哪些?塊級元素有哪些?CSS的盒模型?

答:塊級元素:div p h1 h2 h3 h4 form ul 行內(nèi)元素: a b br i span input select Css盒模型:內(nèi)容谤绳,border ,margin占锯,padding

42. 前端頁面有哪三層構(gòu)成,分別是什么?作用是什么?

答:結(jié)構(gòu)層 Html 表示層 CSS 行為層 js缩筛。

43. Doctype作用? 嚴格模式與混雜模式-如何觸發(fā)這兩種模式消略,區(qū)分它們有何意義?

(1)、<!DOCTYPE> 聲明位于文檔中的最前面瞎抛,處于 <html> 標簽之前艺演。告知瀏覽器的解析器,用什么文檔類型 規(guī)范來解析這個文檔。

(2)胎撤、嚴格模式的排版和 JS 運作模式是 以該瀏覽器支持的最高標準運行晓殊。

(3)、在混雜模式中伤提,頁面以寬松的向后兼容的方式顯示巫俺。模擬老式瀏覽器的行為以防止站點無法工作。

(4)肿男、DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現(xiàn)介汹。

44. 行內(nèi)元素有哪些?塊級元素有哪些舶沛? 空(void)元素有那些嘹承?

(1)CSS規(guī)范規(guī)定,每個元素都有display屬性冠王,確定該元素的類型赶撰,每個元素都有默認的display值舌镶,比如div默認display屬性值為“block”柱彻,成為“塊級”元素;span默認display屬性值為“inline”餐胀,是“行內(nèi)”元素哟楷。

(2)行內(nèi)元素有:a b span img input select strong(強調(diào)的語氣) 塊級元素有:div ul ol li dl dt dd h1 h2 h3 h4…p

(3)知名的空元素:



<img><input><link><meta>鮮為人知的是: <area><base><col><command>

<embed><keygen><param><source><track><wbr>

45. CSS的盒子模型?

(1)兩種否灾, IE 盒子模型卖擅、標準 W3C 盒子模型;IE 的content部分包含了 border 和 pading;

(2)盒模型: 內(nèi)容(content)墨技、填充(padding)惩阶、邊界(margin)、 邊框(border).

46. CSS 選擇符有哪些扣汪?哪些屬性可以繼承断楷?優(yōu)先級算法如何計算? CSS3新增偽類有那些崭别?

  • 1.id選擇器( # myid)

2.類選擇器(.myclassname)

3.標簽選擇器(div, h1, p)

4.相鄰選擇器(h1 + p)

5.子選擇器(ul < li)

6.后代選擇器(li a)

7.通配符選擇器( * )

8.屬性選擇器(a[rel = "external"])

9.偽類選擇器(a: hover, li: nth - child)

  • 可繼承: font-size font-family color, UL LI DL DD DT;

  • 不可繼承 :border padding margin width height ;

  • 優(yōu)先級就近原則冬筒,樣式定義最近者為準;

  • 載入樣式以最后載入的定位為準;

優(yōu)先級為:

!important > id > class > tag

important 比 內(nèi)聯(lián)優(yōu)先級高

CSS3新增偽類舉例:

p:first-of-type 選擇屬于其父元素的首個 <p> 元素的每個 <p> 元素。

p:last-of-type 選擇屬于其父元素的最后 <p> 元素的每個 <p> 元素茅主。

p:only-of-type 選擇屬于其父元素唯一的 <p> 元素的每個 <p> 元素舞痰。

p:only-child 選擇屬于其父元素的唯一子元素的每個 <p> 元素。

p:nth-child(2) 選擇屬于其父元素的第二個子元素的每個 <p> 元素诀姚。

:enabled响牛、:disabled 控制表單控件的禁用狀態(tài)。

:checked,單選框或復選框被選中呀打。

47. 如何居中div,如何居中一個浮動元素?

給div設(shè)置一個寬度论衍,然后添加margin:0 auto屬性

div{

width:200px;

margin:0 auto;

}

居中一個浮動元素

確定容器的寬高 寬500 高 300 的層

設(shè)置層的外邊距

.div {

Width:500px ; height:300px;//高度可以不設(shè)

Margin: -150px 0 0 -250px;

position:relative;相對定位

background-color:pink;//方便看效果

left:50%;

top:50%;

}

48. 瀏覽器的內(nèi)核分別是什么?經(jīng)常遇到的瀏覽器的兼容性有哪些?原因聚磺,解決方法是什么坯台,常用hack的技巧 ?

  • IE瀏覽器的內(nèi)核Trident瘫寝、 Mozilla的Gecko蜒蕾、google的WebKit、Opera內(nèi)核Presto焕阿;

  • png24為的圖片在iE6瀏覽器上出現(xiàn)背景咪啡,解決方案是做成PNG8.

  • 瀏覽器默認的margin和padding不同。解決方案是加一個全局的*{margin:0;padding:0;}來統(tǒng)一暮屡。

  • IE6雙邊距bug:塊屬性標簽float后撤摸,又有橫行的margin情況下,在ie6顯示margin比設(shè)置的大褒纲。

浮動ie產(chǎn)生的雙倍距離 #box{ float:left; width:10px; margin:0 0 0 100px;}

這種情況之下IE會產(chǎn)生20px的距離准夷,解決方案是在float的標簽樣式控制中加入 ——display:inline;將其轉(zhuǎn)化為行內(nèi)屬性。(這個符號只有ie6會識別)

漸進識別的方式莺掠,從總體中逐漸排除局部衫嵌。

首先,巧妙的使用“\9”這一標記彻秆,將IE游覽器從所有情況中分離出來楔绞。

接著,再次使用“+”將IE8和IE7唇兑、IE6分離開來酒朵,這樣IE8已經(jīng)獨立識別。

css

.bb{

background-color:#f1ee18;/所有識別/

.background-color:#00deff\9; /IE6扎附、7蔫耽、8識別/

+background-color:#a200ff;/IE6、7識別/

_background-color:#1e0bd1;/IE6識別/

}

  • IE下,可以使用獲取常規(guī)屬性的方法來獲取自定義屬性,

也可以使用getAttribute()獲取自定義屬性;

Firefox下,只能使用getAttribute()獲取自定義屬性.

解決方法:統(tǒng)一通過getAttribute()獲取自定義屬性.

  • IE下,even對象有x,y屬性,但是沒有pageX,pageY屬性;

Firefox下,event對象有pageX,pageY屬性,但是沒有x,y屬性.

  • (條件注釋)缺點是在IE瀏覽器下可能會增加額外的HTTP請求數(shù)帕棉。

  • Chrome 中文界面下默認會將小于 12px 的文本強制按照 12px 顯示, 可通過加入 CSS 屬性 -webkit-text-size-adjust: none; 解決.

超鏈接訪問過后hover樣式就不出現(xiàn)了 被點擊訪問過的超鏈接樣式不在具有hover和active了解決方法是改變CSS屬性的排列順序:

L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}

49. 列出display的值针肥,說明他們的作用。position的值香伴, relative和absolute定位原點是慰枕?

  1. block 象塊類型元素一樣顯示。

none 缺省值即纲。向行內(nèi)元素類型一樣顯示具帮。

inline-block 象行內(nèi)元素一樣顯示,但其內(nèi)容象塊類型元素一樣顯示。

list-item 象塊類型元素一樣顯示蜂厅,并添加樣式列表標記匪凡。

  1. position的值

*absolute

生成絕對定位的元素,相對于 static 定位以外的第一個父元素進行定位掘猿。

*fixed (老IE不支持)

生成絕對定位的元素柿究,相對于瀏覽器窗口進行定位帽驯。

  • relative

生成相對定位的元素,相對于其正常位置進行定位。

  • static 默認值险毁。沒有定位撤师,元素出現(xiàn)在正常的流中

*(忽略 top, bottom, left, right z-index 聲明)榕堰。

  • inherit 規(guī)定從父元素繼承 position 屬性的值谦趣。

50. absolute的containing block計算方式跟正常流有什么不同?

<pre style="margin-bottom:6.0pt;line-height:14.4pt;mso-pagination:widow-orphan;
background:#F3FFEC"> lock-level boxes 一個 block-level element ('display' 屬性值為 'block', 'list-item' 或是 ‘table’) 會生成一個 block-level box飞主,這樣的盒子會參與到 block-formatting context (一種布局的方式) 中狮惜。 block formatting context 在這種布局方式下,盒子們自所在的 containing block 頂部起一個接一個垂直排列碌识,水平方向上撐滿整個寬度 (除非內(nèi)部的盒子自己內(nèi)部建立了新的 BFC)碾篡。 containing block 一般來說,盒子本身就為其子孫建立了 containing block丸冕,用來計算內(nèi)部盒子的位置耽梅、大小,而對內(nèi)部的盒子胖烛,具體采用哪個 containing block 來計算,需要分情況來討論: 若此元素為 inline 元素诅迷,則 containing block 為能夠包含這個元素生成的第一個和最后一個 inline box 的 padding box (除 margin, border 外的區(qū)域) 的最小矩形佩番; 否則則由這個祖先元素的 padding box 構(gòu)成。 根元素所在的 containing block 被稱為 initial containing block罢杉,在我們常用的瀏覽器環(huán)境下趟畏,指的是原點與 canvas 重合,大小和 viewport 相同的矩形滩租; 對于 position 為 static 或 relative 的元素赋秀,其 containing block 為祖先元素中最近的 block container box 的 content box (除 margin, border, padding 外的區(qū)域); 對于 position:fixed 的元素律想,其 containing block 由 viewport 建立猎莲; 對于 position:absolute 的元素,則是先找到其祖先元素中最近的 position 屬性非 static 的元素技即,然后判斷: 如果都找不到著洼,則為 initial containing block。</pre>

51. 對WEB標準以及W3C的理解與認識

標簽閉合、標簽小寫身笤、不亂嵌套豹悬、提高搜索機器人搜索幾率、使用外 鏈css和js腳本液荸、結(jié)構(gòu)行為表現(xiàn)的分離瞻佛、文件下載與頁面速度更快、內(nèi)容能被更多的用戶所訪問娇钱、內(nèi)容能被更廣泛的設(shè)備所訪問涤久、更少的代碼和組件,容易維 護忍弛、改版方便响迂,不需要變動頁面內(nèi)容、提供打印版本而不需要復制內(nèi)容细疚、提高網(wǎng)站易用性蔗彤;

52. css的基本語句構(gòu)成是?

選擇器{屬性1:值1;屬性2:值2;……}

53. 瀏覽器標準模式和怪異模式之間的區(qū)別是什么?

盒子模型 渲染模式的不同

使用 window.top.document.compatMode 可顯示為什么模式

54. CSS中可以通過哪些屬性定義,使得一個DOM元素不顯示在瀏覽器可視范圍內(nèi)疯兼?

最基本的:

設(shè)置display屬性為none然遏,或者設(shè)置visibility屬性為hidden

技巧性:

設(shè)置寬高為0,設(shè)置透明度為0吧彪,設(shè)置z-index位置在-1000

55. 行內(nèi)元素和塊級元素的具體區(qū)別是什么待侵?行內(nèi)元素的padding和margin可設(shè)置嗎?

  塊級元素(block)特性:

總是獨占一行姨裸,表現(xiàn)為另起一行開始秧倾,而且其后的元素也必須另起一行顯示;

寬度(width)、高度(height)傀缩、內(nèi)邊距(padding)和外邊距(margin)都可控制;

  內(nèi)聯(lián)元素(inline)特性:

和相鄰的內(nèi)聯(lián)元素在同一行;

寬度(width)那先、高度(height)、內(nèi)邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變(也就是padding和margin的left和right是可以設(shè)置的)赡艰,就是里面文字或圖片的大小售淡。

那么問題來了,瀏覽器還有默認的天生inline-block元素(擁有內(nèi)在尺寸慷垮,可設(shè)置高寬揖闸,但不會自動換行),有哪些料身?

答案:<input> 汤纸、<img> 、<button> 惯驼、<textarea> 蹲嚣、<label>

56. 什么是外邊距重疊递瑰?重疊的結(jié)果是什么?

答案:

外邊距重疊就是margin-collapse隙畜。

在CSS當中抖部,相鄰的兩個盒子(可能是兄弟關(guān)系也可能是祖先關(guān)系)的外邊距可以結(jié)合成一個單獨的外邊距。這種合并外邊距的方式被稱為折疊议惰,并且因而所結(jié)合成的外邊距稱為折疊外邊距慎颗。

折疊結(jié)果遵循下列計算規(guī)則:

  1. 兩個相鄰的外邊距都是正數(shù)時,折疊結(jié)果是它們兩者之間較大的值言询。

  2. 兩個相鄰的外邊距都是負數(shù)時俯萎,折疊結(jié)果是兩者絕對值的較大值。

  3. 兩個外邊距一正一負時运杭,折疊結(jié)果是兩者的相加的和夫啊。

58****、描述一個"reset"的CSS文件并如何使用它辆憔。知道normalize.css嗎撇眯?你了解他們的不同之處?

重置樣式非常多虱咧,凡是一個前端開發(fā)人員肯定有一個常用的重置CSS文件并知道如何使用它們熊榛。他們是盲目的在做還是知道為什么這么做呢?原因是不同的瀏覽器對一些元素有不同的默認樣式腕巡,如果你不處理玄坦,在不同的瀏覽器下會存在必要的風險,或者更有戲劇性的性發(fā)生绘沉。

你可能會用Normalize來代替你的重置樣式文件煎楣。它沒有重置所有的樣式風格,但僅提供了一套合理的默認樣式值梆砸。既能讓眾多瀏覽器達到一致和合理转质,但又不擾亂其他的東西(如粗體的標題)。

在這一方面帖世,無法做每一個復位重置。它也確實有些超過一個重置沸枯,它處理了你永遠都不用考慮的怪癖日矫,像HTML的audio元素不一致或line-height不一致。

57. 說display屬性有哪些绑榴?可以做什么哪轿?

display:block行內(nèi)元素轉(zhuǎn)換為塊級元素

display:inline塊級元素轉(zhuǎn)換為行內(nèi)元素

display:inline-block轉(zhuǎn)為內(nèi)聯(lián)元素

58. 哪些css屬性可以繼承?

可繼承: font-size font-family color, ul li dl dd dt;

不可繼承 :border padding margin width height ;

59. css優(yōu)先級算法如何計算翔怎?

!important > id > class > 標簽

!important 比 內(nèi)聯(lián)優(yōu)先級高

*優(yōu)先級就近原則窃诉,樣式定義最近者為準;

*以最后載入的樣式為準;

60. b標簽和strong標簽,i標簽和em標簽的區(qū)別杨耙?

后者有語義,前者則無飘痛。

61. 有那些行內(nèi)元素珊膜、有哪些塊級元素、盒模型宣脉?

1.內(nèi)聯(lián)元素(inline element)

a – 錨點

abbr – 縮寫

acronym – 首字

b – 粗體(不推薦)

big – 大字體

br – 換行

em – 強調(diào)

font – 字體設(shè)定(不推薦)

i – 斜體

img – 圖片

input – 輸入框

label – 表格標簽

s – 中劃線(不推薦)

select – 項目選擇

small – 小字體文本

span – 常用內(nèi)聯(lián)容器车柠,定義文本內(nèi)區(qū)塊

strike – 中劃線

strong – 粗體強調(diào)

sub – 下標

sup – 上標

textarea – 多行文本輸入框

tt – 電傳文本

u – 下劃線

var – 定義變量

2、塊級元素

address – 地址

blockquote – 塊引用

center – 舉中對齊塊

dir – 目錄列表

div – 常用塊級容易塑猖,也是css layout的主要標簽

dl – 定義列表

fieldset – form控制組

form – 交互表單

h1 – 大標題

h2 – 副標題

h3 – 3級標題

h4 – 4級標題

h5 – 5級標題

h6 – 6級標題

hr – 水平分隔線

isindex – input prompt

menu – 菜單列表

noframes – frames可選內(nèi)容竹祷,(對于不支持frame的瀏覽器顯示此區(qū)塊內(nèi)容)

noscript – )可選腳本內(nèi)容(對于不支持script的瀏覽器顯示此內(nèi)容)

ol – 排序表單

p – 段落

pre – 格式化文本

table – 表格

ul – 非排序列表

3.CSS盒子模型包含四個部分組成:

內(nèi)容、填充(padding)羊苟、邊框(border)塑陵、外邊界(margin)。

62. 有哪些選擇符蜡励,優(yōu)先級的計算公式是什么令花?行內(nèi)樣式和!important哪個優(yōu)先級高巍虫?

ID > .class > 標簽選擇符 !important優(yōu)先級高

63. 我想讓行內(nèi)元素跟上面的元素距離10px彭则,加margin-top和padding-top可以嗎?

margin-top,padding-top無效

64. CSS的盒模型由什么組成占遥?

內(nèi)容俯抖,border ,margin,padding

65. 說說display屬性有哪些瓦胎?可以做什么芬萍?

display:block行內(nèi)元素轉(zhuǎn)換為塊級元素

display:inline塊級元素轉(zhuǎn)換為行內(nèi)元素

display:inline-block轉(zhuǎn)為內(nèi)聯(lián)元素

66. 哪些css屬性可以繼承?

可繼承: font-size font-family color, ul li dl dd dt;

不可繼承 :border padding margin width height ;

67. css優(yōu)先級算法如何計算搔啊?

!important > id > class > 標簽

!important 比 內(nèi)聯(lián)優(yōu)先級高

  • 優(yōu)先級就近原則柬祠,樣式定義最近者為準;

  • 以最后載入的樣式為準;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市负芋,隨后出現(xiàn)的幾起案子漫蛔,更是在濱河造成了極大的恐慌,老刑警劉巖旧蛾,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件莽龟,死亡現(xiàn)場離奇詭異,居然都是意外死亡锨天,警方通過查閱死者的電腦和手機毯盈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來病袄,“玉大人搂赋,你說我怎么就攤上這事赘阀。” “怎么了脑奠?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵基公,是天一觀的道長。 經(jīng)常有香客問我捺信,道長酌媒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任迄靠,我火速辦了婚禮秒咨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掌挚。我一直安慰自己雨席,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布吠式。 她就那樣靜靜地躺著陡厘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪特占。 梳的紋絲不亂的頭發(fā)上糙置,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音是目,去河邊找鬼谤饭。 笑死,一個胖子當著我的面吹牛懊纳,可吹牛的內(nèi)容都是我干的揉抵。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嗤疯,長吁一口氣:“原來是場噩夢啊……” “哼冤今!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茂缚,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤戏罢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后脚囊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帖汞,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年凑术,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片所意。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡淮逊,死狀恐怖催首,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泄鹏,我是刑警寧澤郎任,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站备籽,受9級特大地震影響舶治,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜车猬,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一霉猛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧珠闰,春花似錦惜浅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至承绸,卻和暖如春裸影,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背军熏。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工轩猩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人羞迷。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓界轩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親衔瓮。 傳聞我的和親對象是個殘疾皇子浊猾,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,728評論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5热鞍? 答:HTML5是最新的HTML標準葫慎。 注意:講述HT...
    kismetajun閱讀 27,422評論 1 45
  • 本文主要是起筆記的作用,內(nèi)容來自慕課網(wǎng). 認識CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,623評論 0 30
  • 1.行內(nèi)元素和塊級元素?img算什么?行內(nèi)元素怎么轉(zhuǎn)化為塊級元素? 行內(nèi)元素:和有他元素都在一行上薇宠,高度偷办、行高及外...
    極樂君閱讀 2,402評論 0 20
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,200評論 0 5