2013-07-24 12 views
39

So che è stato chiesto prima, ma non trovo modo pulito di rilevante questo CSS:Come sovrascrivere il set CSS su uno pseudo elemento?

.ui-input-search:after { 
    content: ""; 
    height: 18px; 
    left: 0.3125em; 
    margin-top: -9px; 
    opacity: 0.5; 
    position: absolute; 
    top: 50%; 
    width: 18px; 
} 

ho bisogno di lasciare ui-input-search sull'elemento, ma posso aggiungere la mia classe, come:

.ui-input-search-no-pseudo:after { 
    content: ""; 
} 

domanda:
c'è un modo semplice per rimuovere "pseudo-css", senza dover sovrascrivere la linea di CSS per riga?

Grazie!

risposta

78

Per quanto posso dire, non c'è altro modo che ignorare tutte le proprietà. Gli stili sono definiti sull'elemento, non scompariranno solo a causa di un altro selettore che bersaglia l'elemento.

Se si desidera rimuovere solo lo pseudo elemento dalla pagina, è possibile eseguire content: none.

+4

il 'contenuti: none' era quello che mi serviva. Perfezionare! Grazie. – frequent

+30

La differenza tra 'content:" "' e 'content: none' è che' content: "" 'produce uno pseudo-elemento senza contenuto (cioè uno pseudo-elemento vuoto), mentre' content: none' impedisce lo pseudo -elemento da essere generato affatto. – BoltClock

+0

@ Il commento di BoltClock deve essere incluso nella risposta per la spiegazione. –

3

Qui content: ""; non influisce affatto se si desidera rimuovere che pseudo si deve utilizzare content:none; sarà rimuovere contenuti pseudo precedentemente aggiunto.

Se ciò non risolve il problema si può anche provare:

display:none; 
//or 
display:none !important; 

qui sta lavorando jsfiddle

https://jsfiddle.net/ganeshswami99/52duu0x8/1/