2014-01-10 5 views
4

Есть ли способ выбрать элементы, которые могут содержать текст?Селектор CSS, который соответствует всем элементам, которые могут содержать текст?

Что-то вроде этого:

*:text { 
    font-size: 12px; 
} 

Я хочу использовать его для моего reset.css, но я не могу найти способ, как это сделать, так что сейчас я использую этот код:

* { 
    font-size: 12px; 
} 

Это решение работает для всех текстовых элементов (например, STRONG, P, A и т. Д.), Но также применяет этот стиль к нетекстовым элементам, таким как IMG, OBJECT и другие.

Так что мне интересно, есть ли другое решение для установки свойств CSS для всех текстовых элементов, но ничего больше.

+0

Интересный вопрос. Но какова ваша цель в этом? Будет ли просто использовать селектор *, html или body не делать то, что вам нужно? –

+0

Вы можете просто установить размер шрифта на эти другие элементы после: '* {font-size: 12px;} img, object и т. Д. {Font-size: something else;}' или специально предназначенные элементы, содержащие текст: ' p, strong и т. д. {font-size: 12px;} 'вместо универсального селектора – brouxhaha

+0

Что вы хотите сделать? В большинстве случаев наследование будет выполнять эту работу за вас. Поэтому просто установите 'font-size' для' body'. Если вы действительно хотите, чтобы каждый текстовый элемент имел определенный «font-size» (также 'h1',' h2' и т. Д.), Вам нужно будет указать их в селекторе. – lukasgeiter

ответ

1

Я не думаю, что есть определенный способ найти элементы на основе текста с селектором псевдо, но это хорошее место, чтобы узнать больше о классе псевдо: http://www.w3.org/TR/CSS2/selector.html#pseudo-class-selectors

И здесь большая статья о возврате: http://www.css-reset.com/

и большой ресурс для создания сброса CSS: http://www.cssreset.com/

2

Вы не можете предназначаться элемент, основанный на том факте, его содержащий текст или не с помощью CSS селектор. С другой стороны, вы можете посмотреть лучший способ установки глобального шрифта или стиля, который вы хотите для своего текста.

С чем у вас уже есть,

* { 
    font-size: 12px; 
} 

Это назначая этот стиль ко всему, в йот. Вы можете не думать об этом, но оно применяется к вашей голове, телу, html и любому тегу на вашей странице. Есть пара вариантов, которые вы можете сделать по этому поводу, и я перечислил их от лучших до худших.

html, body { /* this allows the children to inherit this style */ 
    font-size: 12px; 
} 

body * { /* assigns this style to every tag inside of your body tag */ 
    font-size: 12px; 
} 

p, span, a, etc { /* you decided what tags would most likely contain text to apply that style */ 
    font-size: 12px; 
} 

* { /* the worst option, applying that style to every tag */ 
    font-size: 12px; 
} 
3

Если вы просто хотите, чтобы стиль элементов, как img, object и тому подобное, то самое простое решение состоит в том, что элементы ссылаться непосредственно в CSS.

Для чего стоит переключатель :empty (псевдокласс). Это не совсем то, что вы хотите, но оно выбирает элементы, у которых нет дочерних элементов, включая текстовые узлы. Конечно, он будет покрывать img, но также и пустой (sic!) p. Он не может поддерживаться более старыми браузерами.

+2

+1 для мышления вне коробки. –

Смежные вопросы