壓縮。
我是沒想到還是有人會說,沒有基礎(chǔ)的人才會問html空格的問題,這些細節(jié)沒有什么用,而我這里給大家簡單的匯報一下。
首先第一個問題,標(biāo)簽和標(biāo)簽之間空格的問題。先看一下這個家伙,這個例子,這兩種寫法有什么區(qū)別?直接看這里的例子。第一種寫法包含了一個奇怪的空格,但是第二種寫法是不包含空格的。
這個東西在html里面,它的解析,它的Dome節(jié)點中看是看不出來的,而我們看它們的表現(xiàn)完全一致的,要怎么去理解?畢竟寫的代碼不是所有的都會去掛工程畫,這個地方是animate和note的區(qū)別,它們的內(nèi)存結(jié)構(gòu)是不一樣的。
比如第一個節(jié)點,它下面包含了5個字節(jié)點,有3個是文本節(jié)點。再看第二個節(jié)點,這個節(jié)點下面只有兩個節(jié)點,只有兩個span的標(biāo)簽。去看html的時候,它的表現(xiàn)是字符,標(biāo)簽是字符的一種結(jié)構(gòu),但是最終使用的時候是document,它是節(jié)點,中間是有轉(zhuǎn)換的,這是理論。
這里聊的就是text文本節(jié)點,而對于文本節(jié)點,那里面的東西就非常惡心了,東西就特別多了。比如現(xiàn)在就要這三個字,無壓縮它的寬度,要怎么去計算?找一下無壓縮節(jié)點,找的是無壓縮里面文案的節(jié)點,它是沒有寬度的,上面可以看到它的寬度是144,這是它渲染出來的,它的寬度是沒有的,這個節(jié)點里面是不給提供它的寬高的,這是很惡心的一件事情。
必須得基于容器,基于它外側(cè)的容器,來去獲取到它最終的寬度,計算中文的寬度是多少,大家有見過這樣的需求吧。
再說一個,現(xiàn)在要節(jié)點信息的位置,比如這里做了個例子,現(xiàn)在要定義文案的偏移量,要怎么去計算?當(dāng)用第一種方式里面寫的有SPA標(biāo)簽以后,直接獲取標(biāo)簽,用行內(nèi)的標(biāo)簽來去進行獲取,里面包含了左邊定位的信息,三百八十七。
·但現(xiàn)在要計算第二個節(jié)點,它的問題跟剛才的問題是一樣的,如何去獲取到text的節(jié)點?它的寬高獲取不到的,沒有偏移量的信息,得進行特殊的計算,這就是其中一個比較大的區(qū)別,這個東西就比較操蛋了。
·再來一個跨局跟行內(nèi)元素的規(guī)則,規(guī)則包含哪些?標(biāo)準(zhǔn)的規(guī)則是所有的子元素,塊菊元素當(dāng)中所有的子元素要么都是塊菊,要么都是內(nèi)聯(lián)的??匆幌滤鼈儍蓚€這種寫法上有沒有區(qū)別?這兩種寫法是沒有任何區(qū)別的,因為它是跨極,它是內(nèi)聯(lián)的,而內(nèi)聯(lián)和跨極是不允許進行交叉使用的。
它的寫法相當(dāng)于它的外層又包含了一個隱匿的跨句元素,直接看頁面中表現(xiàn)的效果,它倆的表現(xiàn)效果是一致的,雖然標(biāo)簽不一樣,但是最終展示的結(jié)果是一樣的,它倆的表現(xiàn)形式是一樣的。
如果這個邏輯知道,再解釋一下下面這種寫法,這兩種寫法是一樣的,解釋一下為什么?已知div是跨距元素,跨距元素當(dāng)中里面所有的節(jié)點全部都是跨距元素或者是行內(nèi)元素,而又知道空格會轉(zhuǎn)換成text的節(jié)點,而Tech的節(jié)點是行內(nèi)元素,所以它的外層又會包成一行隱匿的節(jié)點,它是div,所以這里包含div,這里又包含div,有3個空格。
塊級:所有的子元素都是塊,中間兩偏差的兩個一,這兩個元素它倆的表現(xiàn)是一樣的,可以看到它最終表現(xiàn)的效果。
這里引出的額外的概念就是塌陷,沒有內(nèi)容,沒有div它的content是0,它的高度必須得是0,否則這種實現(xiàn)就會跟理解是有差異的,而這種實現(xiàn)又會產(chǎn)生一些額外的其他的問題。
舉一個例子,往from表單里面,往table里面插入元素,恰巧那一行的數(shù)據(jù)它就是為空,后端返回這個空詞無串,這個時候要不要進行特殊處理?比如圖中這個table,這個table它就是沒有數(shù)據(jù),這兩行就是沒有數(shù)據(jù),最終展示的時候可能就是第一行它是正常的,它的高度可能是40,第二行第三行它就是癟了,發(fā)現(xiàn)了因為沒有內(nèi)容產(chǎn)生的原因。
要怎么去解決這個問題?phone表格也是一樣的,它也會有類似的問題。當(dāng)然還會有一些其他的比較惡心的要求,現(xiàn)在是復(fù)文本,現(xiàn)在是編輯代碼,而要求內(nèi)容跟寫的結(jié)構(gòu)一樣,現(xiàn)在要再怎么去處理第三類?使用PRE標(biāo)簽,刷新一下,空殼這個問題又得到了一個處理。
這里就涉及到了具體的解析結(jié)構(gòu)、規(guī)則,而這些問題聊完以后又可以回到上一個問題,HM中有哪些標(biāo)簽?關(guān)于如何分類的?標(biāo)簽的分類其實按功能分、按和模型去區(qū)分,沒問題都沒問題,但至少所有的類型得加上。
比如hider meter,它們是行類的還是塊兒級?包括直播的時候彈幕上已經(jīng)提到過行內(nèi)塊級,有些內(nèi)容是說錯的,講道理當(dāng)時就是聽個響,因為答案太普通了??梢园凑樟硗獾囊环N結(jié)構(gòu)來去區(qū)分,可以基于轉(zhuǎn)換后的元素進行區(qū)分,而它包含很多。
·第一種:空元素,沒有內(nèi)容的元素,它的核心是什么?現(xiàn)在寫一個image標(biāo)簽,里面的標(biāo)簽內(nèi)容不要那樣寫,非要這樣去寫,里面加一個奇怪的標(biāo)簽內(nèi)容,肯定是標(biāo)加不進去的,是沒有辦法放到image里面的。包括heart,包括這些里面的其他的標(biāo)簽全部都是這樣的,最終會做一些特殊的操作來去處理里面的span或者里面文案的內(nèi)容。
·第二個元素,模板元素。它是用來定義下面模板用的,是比較特殊的,里面的內(nèi)容不會進行額外的解析。比如現(xiàn)在寫了一個奇怪的標(biāo)簽,里面加了一個script,這個時候刷起甲會怎樣?刷新一下標(biāo)簽會進行執(zhí)行。當(dāng)然是如果用time play就不會進行執(zhí)行,它是一個元素的,是一個模板類的標(biāo)簽,刷新一下不會進行執(zhí)行。
·第三類,原始文本元素。這類元素其實往下看,主要是看這兩個元素包含可轉(zhuǎn)移和不可轉(zhuǎn)移,一般是兩個,提示器寫的也行,一般是兩個。這兩個會進行解析,需要其他的解析器來對里面的代碼去進行解析。但是textl里邊放的這些元素是不會進行解析的。
比如現(xiàn)在把tablet改成taxl,大家注意里面的節(jié)點會怎么處理?會去執(zhí)行嗎?不會執(zhí)行,并且會把里面的內(nèi)容放到里面的內(nèi)容,這個東西也是以前代替template的核心原因。去看一些比較老的實現(xiàn)的時候,比如百度中里面會用一些taxl代替template,因為以前沒這個元素。
·第五個,這兩原始文本算兩個,第五個就是外來元素,這里寫的又比較清楚,非HTML規(guī)范的一些元素。特殊的一些元素,外來的不是html里面規(guī)范的。
最后就是普通元素,打鼓本身就是筆試題的平替,但是它的內(nèi)容跟筆試是不一樣的,筆試是有標(biāo)準(zhǔn)答案的,是要打分的,60分以后繼續(xù)聊,沒有超過60分就可以走了。
但打鼓不是,拋出一個問題,永遠是論述題,大家來相互的溝通,有可能面試官的這個點不會沒關(guān)系,完全可以主動地去提。面試官我覺得這個點不重要,我更了解瀏覽器中編語原理的部分,了解瀏覽器中關(guān)于渲染引擎的這一部分,可以基于這個問題來探討一下關(guān)于節(jié)點,關(guān)于剛才這些問題到底是有一個什么樣的答案,這是沒有問題的。
反正一句話,我是不認(rèn)可沒有技術(shù)的人才會問hmr空格問題的,更不認(rèn)可這些細節(jié)問題沒有任何用的言論。
我們在日常辦公使用Excel時,有時為了排版整齊或者因為一些規(guī)定,需要保證Excel單元格中不含有空格出現(xiàn),如果一個個去檢查再刪除,數(shù)據(jù)較多時就十分浪費時間還容易遺漏,那么能否在錄入數(shù)據(jù)時就禁止錄入空格呢?下面就給大家介紹一下設(shè)置的方法。#文章首發(fā)挑戰(zhàn)賽#
封面
方法步驟
1、打開Excel表格,先選中需要設(shè)置禁止輸入空格的單元格區(qū)域,點擊【數(shù)據(jù)】-【數(shù)據(jù)驗證】-【數(shù)據(jù)驗證】,彈出“數(shù)據(jù)驗證”對話框。
圖1
2、在“數(shù)據(jù)驗證”對話框中,點擊【設(shè)置】,然后將“允許”選擇為:自定義;“公式”輸入函數(shù):=ISERROR(FIND(" ",A2))即可。
注:“公式”函數(shù)說明
①ISERROR函數(shù):判斷一個數(shù)值或字符串是否為錯誤值。
②FIND函數(shù):對原始數(shù)據(jù)中某個字符串進行定位,以確定其位置。
③【" "】:指要查找的內(nèi)容,即【"空格"】查找空格。
④【A2】:指開始查找的單元格位置,即選中區(qū)域的第一個單元格。
圖2
3、繼續(xù)在“數(shù)據(jù)驗證”對話框中,點擊【出錯警告】,在“標(biāo)題”輸入:錯誤;“錯誤信息”輸入:禁止輸入空格。然后點擊【確定】,這樣在選擇區(qū)域內(nèi)輸入帶空格的內(nèi)容,就會自動彈出錯誤提示了。
注:“標(biāo)題”和“錯誤信息”可根據(jù)自行需要輸入內(nèi)容。
圖3
圖4
溫馨提示】親愛的朋友,閱讀之前請您點擊【關(guān)注】,您的支持將是我最大的動力!#我和頭條的故事#
我們在日常表格錄入工作中,難免出現(xiàn)錄入空格的現(xiàn)象。
當(dāng)表格錄入完成后,發(fā)現(xiàn)大量的空格,影響了表格的整潔,有可能還會影響后期的數(shù)據(jù)分析,如何快速刪除這些空格呢?
01.查找替換法
可以把空格鍵用查找和替換功能替換掉:
· 點擊【開始】選項卡中的【查找和選擇】按鈕,選擇【替換】,調(diào)出查找和替換窗口,或者按Ctrl+H鍵快速調(diào)出替換窗口;
· 查找內(nèi)容輸入一個空格,替換為什么都不輸入,點擊【全部替換】按鈕,就能夠批量刪除空格了。
上面的方法是很輕松搞定空格,但也會帶來額外的麻煩,上圖表格空格清除后的效果如下:
很多內(nèi)容變成了亂碼,這是Excel自動將超過11位的數(shù)字以科學(xué)計數(shù)法顯示造成的。如何讓長數(shù)字保持原樣呢?
02.函數(shù)公式法
在B1單元格輸入公式:=SUBSTITUTE(A1," ",""),確認(rèn)公式后再選中B1單元格,雙擊或下拉填充公式,也可以搞定空格。
SUBSTITUTE 函數(shù)
用途:將字符串中的部分字符替換成指定的字符。
語法:SUBSTITUTE(text, old_text, new_text, [instance_num])
參數(shù):
text需要替換的內(nèi)容或單元格的引用。
old_text需要替換的字符。
new_text用于替換的新字符。
Instance_num可選,指定要用 new_text 替換 old_text 的事件。 如果指定了 instance_num,則只有滿足要求的 old_text 被替換。 否則,文本中出現(xiàn)的所有 old_text 都會更改為 new_text。
小伙伴們,在使用Excel中還碰到過哪些問題,評論區(qū)留言一起討論學(xué)習(xí),堅持原創(chuàng)不易,您的點贊轉(zhuǎn)發(fā)就是對小編最大的支持,更多教程點擊下方專欄學(xué)習(xí)。
學(xué)會才知道,用Ctrl+0至9快捷鍵,工作效率甩別人一條街
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。