Установить стиль CSS для элементов с определенными стилями - PullRequest
0 голосов
/ 04 февраля 2012

В моем контенте много изображений с предустановленными стилями, такими как <img src="" style="float:left"> или <img src="" style="float:right">

Я бы хотел установить для них разные поля в зависимости от того, как они плавают. Можно ли установить стиль CSS для изображений с предустановленными стилями?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 04 февраля 2012

Строгое (CSS3) селектор, за которым вы следите, это атрибут , содержащий селектор:

img[style*="float:left;"] { margin: ; }
img[style*="float:right;"] { margin: ; }

В отличие от ответа мистера Листера, он будет работать, даже если у элемента есть другие встроенные стили. Тем не менее, я очень предпочитаю ответ Лоллеро об использовании классов и применении ваших полей таким образом; это будет на 100% совместимо с браузером!

1 голос
/ 04 февраля 2012

Я не знаю, почему вы хотите сделать это таким образом, поэтому я собираюсь предложить это:

http://jsfiddle.net/ZDjWT/

HTML:

<img class="left" src="http://lorempixel.com/g/200/100/" alt="" />
<img class="right" src="http://lorempixel.com/g/200/100/" alt="" />

CSS:

.left {
    float: left;
    margin-left: 30px;
}
.right {
    float: right;
    margin-right: 30px;
}
0 голосов
/ 04 февраля 2012

Да, если стиль только "float:left" и не содержит других свойств или пробелов вокруг двоеточия, вы можете написать img[style='float:left'] в своем CSS.

Если атрибут style может включать и другие вещи, вам может быть лучше использовать Javascript для добавления свойств. (Проверьте на .. .style.float)

Редактировать : и, как говорит Пекка, CSS работает не во всех браузерах. Возможно, лучше добавить класс к изображениям!

...