Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
HTML作為前端三大基礎(chǔ)知識點之一,是每一個前端開發(fā)人員都要掌握的部分。今天這篇文章我們來看看一些平時不太會注意,卻在面試時可能會問到的題目,來看看你都會嗎?
HTML
我們都知道textarea是form表單中一個很常見的元素,用于多行文本輸入,可以設(shè)置行數(shù)和列數(shù)。
但是默認的textarea樣式在頁面上看起來是很丑的,很多頁面都是采用div模擬textarea實現(xiàn)。例如QQ空間主頁面的發(fā)表說說,在你看頁面源碼后就會發(fā)現(xiàn)這個輸入框其實是一個div元素,并不是一個textarea元素,現(xiàn)在我們就來看看這是如何實現(xiàn)的吧?
首先來看看實現(xiàn)的效果是什么樣的。
實現(xiàn)效果
關(guān)鍵屬性:contenteditable
正如這個屬性的字面意思,可以理解為可編輯的,如果在頁面標簽上設(shè)置contenteditable=true,該標簽就可以進行編輯了。
可以配合user-modify屬性,該屬性表示的是控制用戶能否對頁面元素進行編輯,通過設(shè)置不同的值可以選擇富文本或者純文本內(nèi)容,但是由于該屬性是非標準屬性,很少有人知道。
首先我們來看看頁面的HTML部分代碼,就是一個很簡單的div標簽,然后設(shè)置contenteditable屬性為true。
HTML部分代碼
接下來我們就看看整個CSS代碼的完整實現(xiàn)吧。
CSS樣式
通過min-height和max-height屬性可以控制div的高度,在內(nèi)容超出max-height后會出現(xiàn)滾動條。如果想要固定div的高度,則只需要設(shè)置height屬性就可以,而不用設(shè)置min-height和max-height屬性。
src和href從使用上來看都是對外部資源的一種引用,但是在具體理解上是有差異的。
href的值指定的是資源在網(wǎng)絡(luò)上的位置,定義的是當前頁面上的某個元素與需要的資源文件的一個鏈接。比如下面一個語句。
href引用
當瀏覽器解析到頁面的這條語句時,會知道在這里引用了一個外部樣式文件,但并不會阻止頁面解析。這與@import有很大不同,因此在引入外部樣式時,推薦使用link標簽。
src的值表示的是頁面上必不可少的內(nèi)容,需要將指定內(nèi)容加載到當前頁面中。比如下面一個語句。
src引用
當瀏覽器解析到頁面上的這條語句時,瀏覽器會對這個文件進行解析,編譯和執(zhí)行,從而導致整個頁面加載會被暫停,這也是為什么一般會選擇將script標簽放在body結(jié)束標簽的前面。
有一種更好的理解方式,href表示的是一個資源的鏈接;src是對當前元素的替換,內(nèi)容最終會嵌入到當前頁面中。
雖然目前大多數(shù)網(wǎng)頁都是采用的DIV+CSS布局的方式,但是也有少數(shù)的老式Web網(wǎng)頁采用的是Table布局,我們可以一起來看看兩種布局方式的優(yōu)劣。
布局對比
div+css布局
div+css的布局方式屬于W3C標準,而且由于CSS的存在,HTML部分的代碼會顯得很純凈,滿足行為,樣式,結(jié)構(gòu)分離的原則。
頁面加載速度更快,這是目前DIV+CSS使用更廣泛的一個非常重要的原因。
頁面編碼量相對于Table布局會少很多。
頁面內(nèi)容更容易維護,由于樣式都存在CSS文件中,只需要修改CSS文件即可,對HTML文件不會有影響。
由于DIV+CSS布局更容易進行SEO優(yōu)化,所以更方便被搜索引擎收錄。
Table布局
雖然DIV+CSS有各種各樣的優(yōu)勢,但是Table布局也并不是完全無用的。這里也可以列舉出幾個采用Table布局的優(yōu)勢。
新手學習方便(相信有很多后端RD在進行前端學習時剛開始都是從table布局開始的)。
兼容性更好,由于Table布局是從最古老的瀏覽器發(fā)展而來的,在兼容性上會滿足所有瀏覽器。而CSS3的出現(xiàn)卻要考慮瀏覽器的支持程度,一個樣式要考慮加上幾個不同瀏覽器前綴,類似于-webkit,-moz等
今天這篇文章主要講解了幾個關(guān)于HTML的知識點,大家都掌握了嗎?
CSDN 編者按】這篇文章通過一個有趣的 JavaScript 問題,揭示了該 JavaScript 的復雜性和問題的巧妙之處。
原文鏈接:https://dev.to/arjuncodess/javascript-is-extraordinarily-weird-hear-me-out-56j5
未經(jīng)允許,禁止轉(zhuǎn)載!
昨晚,我遇到了一個頗為有趣的 JavaScript 問題。我敢保證,除非你提前看答案,否則很難回答出來。
("b" + "a" + + "a" + "a").toLowerCase()
可選擇的答案如下:
baaa
ba01100001a
baa
ba1a
這個問題表面看起來不難,但當我公布答案后,可能讓你驚掉下巴。
所有上述選項都是錯的!請問,你選對了嗎?
答案將在5秒后公布。
5.
4.
3.
2.
1.
JavaScript 真是匪夷所思
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。