2014-09-18 72 views
9

我很感興趣的是,當它不是「& nbsp;」(空白空間)時顯示一段文字,否則將其隱藏。 我想使用CSS只有。 的代碼是:如何使用CSS僅當其內容有1個字符時隱藏div?

<div>Some text here</div> 
<div>&nbsp;</div> 
<div>Another text here</div> 

卸下「& NBSP;」 不是一個變體。 (如果你想使用建議我:空

請注意,該DIV是全球性的,並可以隨意放置爲好,這就是爲什麼我在尋找答案隱藏在DIV,只有有1個字符。 (或它的任何其他變體)。

爲了說清楚,我不能更改html,它是從數據庫加載數據,因此我需要使用CSS文件來隱藏div內容/標記。如果它以某種方式幫助,那麼文本不是動態的,並且是靜態的,它只會在文本從數據庫加載時更改一次。

在此先感謝!

+4

我不認爲只用CSS就可能。但我投票贊成,因爲我很想看到一個CSS唯一的解決方案。我可以想到一個非常簡單的javascript,但這並不是你明顯要求的。 – ntgCleaner 2014-09-18 18:29:59

+0

我99,9%肯定不可能只用CSS來完成。 – Sergey6116 2014-09-18 18:35:46

+1

目前不可能,我害怕;您需要更改服務器的輸出/響應或使用JavaScript。 – 2014-09-18 18:36:48

回答

2

這是不可能的只使用CSS。 CSS選擇器根據特定元素的屬性(id,class等)或節點結構條件(如子索引位置)匹配HTML元素,但沒有基於內容的選擇器。

您可以對元素的文本內容(首字母等)的特定部分進行樣式設置,但從不使用內容來定位其父元素。

W3的文檔有關CSS SELECTORS指定以下爲可能的元素的規則選擇:

  • 通用選擇
  • 類型選擇
  • 後代選擇
  • 子選擇
  • 相鄰兄弟選擇
  • 屬性選擇器
  • ID選擇
  • 僞元素和僞類
  • 僞類
  • 僞元素

很抱歉,但有沒有「內容」的選擇呢!

正如wumm所評論的那樣,有一些建議,但沒有實施。
JQuery已經實現了一些接近於此的「僞」,如:has:contains,但即使這些也不符合您的需求。

+0

有一個內容選擇器的提議,但它從規格中刪除。請參閱第3個答案:http://stackoverflow.com/questions/1520429/css-3-content-selector – idmean 2014-09-18 18:52:52

+0

任何大小的「內容」選擇器?沒有檢查內容本身,而是檢查內容的大小和長度。就像使用簡短評論並將它們着色爲綠色,以及長時間評論使其成爲紅色,而不管其內容如何它也會回答我的問題,謝謝! – 2014-09-19 08:02:29