我目前想知道如何在不改變流規則的情況下將動態格式應用於HTML頁面中的內容。在面值時,這看起來很簡單,因爲您可以選擇DOM的一個子集並進行批量應用。但是,如果您想將該格式應用於特定對象的文本的唯一部分,則這不起作用。在保留HTML佈局的情況下將HTML文本內容拆分爲組
例如,在格式化:
<div>Let's start my format here <span> and here </span> and <br> here too. <br> But not here.</div>
如果你想排除您的格式<br> But not here.
沒有明確的辦法做到這一點的任意佈局的情況下,即使你這樣做手工。一種方法是將div分割爲跨度部分,然後以不同的格式對其進行格式化。不幸的是,在內聯元素中包裝任意HTML會導致一些不幸的副作用(例如,跨度中的任何<br>
標記將被視爲不存在)。使用塊元素封裝,就像通過添加不存在的斷點來引入類似的問題。我似乎無法找到一種方法來聲明一個DOM組,它可以簡單地作爲父對象內的純文本行爲。
那麼,我試圖找出一個很好的通用解決方法來引入顯示級格式,同時保留任何佈局格式。這種格式化可以包括文本格式(例如,突出顯示,強調)或動態效果(例如,隱藏/顯示)。我能想到的幾個假設的解決方案,但我不知道什麼(如果有的話),實際上在實踐中是可行的:
- 現有內嵌佈局元素像跨度不殺你的換行符和其他格式的請求。
- 使用CSS製作自定義元素(如#1)的能力。也許這個插入或繼承顯示標籤可能對此有用? (https://developer.mozilla.org/en-US/docs/Web/CSS/display)但是,他們都不像他們解決這個問題。
- 一種防止跨越格式化標記的跨度內部方法。
- 一個分組元素,充當佈局格式的傳遞(即,爲了佈局目的而被視爲未標記的文本),但允許顯示格式。
有人會認爲這將是一個簡單的事情。畢竟,不難想象要將div分割爲兩個不同的文本格式稍有不同的部分,同時保留其佈局格式。但是,我似乎無法爲這項工作找到合適的工具。
什麼是上下文?這是你想要對自己的網頁或其他網頁做些什麼嗎?無論如何,這對我來說聽起來都不那麼直截了當。 – Pointy
上下文將其用於註釋目的。因此,HTML源代碼將在手邊,但我會試圖保留一個預先存在的頁面結構。在大多數情況下,將段落文本包裝到span元素中的方法工作得很好。不幸的是,其中跨越了某些HTML標籤,特別是換行符。 – Namey
那麼你永遠不會知道什麼時候可能會有一個CSS規則,它基本上在頁面上的某些上下文中爲''標籤執行任何操作。 – Pointy