怎麼為html元素加一層不影響dom結構的包裹元素?

如題,我想在某個html元素上加一層包裹元素,又不想影響到原有的dom結構。

比如,原來是&&&&,我想在在id為origin的div上加一層包裹元素,如果&&&&&&這樣,實際上影響了原有的div的dom層級結構,將導致其樣式可能會發生變化。所以問題是,怎樣才能加一層包裹,又不影響其樣式。

描述一下這個需求的背景:

想要實現一個基於jquery-ui的,支持拖動,放置,選擇的自定義表單。表單中打算用我們現有的前端組件和樣式,但是是以table來進行布局的。


好好寫你的樣式,有錯就改,不要老是打補丁。


使用非標準元素包裹你需要包裹的dom即可,比如:

& &...& &

除非你的css用到了狗屎一樣的*做全局樣式處理,不然默認情況下非標準元素所有樣式都是unset(大概。。。


如果你好好寫css,是不會影響布局的。如果有影響,就換一套css。

以上。


又想加一層,又不想破壞結構,你這特么是在調戲我胖虎?


想起來有人跟我說的一句經典的話:沒有什麼是多加一層DOM解決不了的,如果有,就加兩層......


多用類選擇器,少用元素選擇器的嵌套


給origin設置偽元素行不行?


樣式表把「&>」換成「 」

不知道對性能有沒有影響


不考慮ie7及以下,可以用 pseudo-element,例如 ::before


這個竟然沒被舉報。模擬placeholder時有這樣的場景需求。一是像margin border之類的影響布局的樣式,二是注意color font-size等可以繼承的樣式。一種做法是遍歷div的樣式,給到wrapper上。


又要馬兒跑,又不給馬兒吃草………?


推薦閱讀:

像素和CSS媒體查詢?
如何批量恢復下載的日文網頁亂碼的文件名?
Razor 生成的html格式可以調整嗎?
HTML 哪些元素不能有後代元素?編寫時應注意哪些?

TAG:HTML | JavaScript | HTML5 | HTMLCSS |