img-стилизация css

#css

#css

Вопрос:

Является ли хорошей практикой продолжать добавлять

 style="padding: 0; margin: 0; display: block;"
  

для каждого изображения?

Ответ №1:

Нет, для выполнения того же самого лучше использовать внешние таблицы стилей:

 img {
    padding: 0;
    margin: 0;
    display: block;
}
  

Это будет нацелено на все изображения, в которых загружена таблица стилей. Это может быть переопределено с помощью более специфичных селекторов, таких как id based ( img#theImageID или, проще говоря, #theImageID будет нацелен на <img id="theImageID" src="path/to/image.png" /> ), или class based ( img.imageClass или, опять же проще, .imageClass . Первый выберет: <img class="imageClass" src="path/to/image.png" /> второй выберет тот же элемент, но также любой другой элемент, который имеет то же имя класса).


Отредактировано из-за ответа / вопроса от OP:

[Даже] в случае электронных писем в формате html?

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

Дальнейшее чтение:

Комментарии:

1. Большинство программ для чтения электронной почты не загружают внешние таблицы стилей. Итак: нет в случае электронных писем в формате html.

2. @user544079: Я не понял, что вы в своем вопросе обращались к электронным письмам в формате html, в таком случае, пожалуйста, ознакомьтесь с правкой (после hr ).

3. @user544079 — Для дальнейшего использования было бы неплохо указать в вашем сообщении, что ваш вопрос касается электронных писем. В противном случае предполагается (и это правильно, IMO), что вы запрашиваете стандартные веб-страницы.

Ответ №2:

Безусловно, лучше создать класс со свойствами стиля, например, следующим:

 img.imageclass {
    border: none;
    margin: 20px;
    padding: 10px;
}
  

Почему не рекомендуется использовать встроенные стили. Потому что, если вы используете встроенный стиль, вы не сможете влиять на этот элемент из таблиц стилей, специфичных для браузера. Например, если вы создаете элемент и видите, что ему требуется некоторая «настройка», чтобы хорошо выглядеть в IE6, например, таблица стилей, специфичная для IE6, не будет работать, если вы явно зададите для этого элемента встроенный стиль, поскольку встроенный стиль будет «ниже» и, следовательно, будет иметь более высокий приоритет.

Ответ №3:

это хорошая практика, но, как сказал @David Thomas, лучше делать это во внешнем файле CSS, чтобы избежать встроенных помех.