Мой сайт о WordPress и PHP
 
15 октября 2006

Выпуск 17. Рамки к картинкам

Читали 6965 раз
Рубрика: E-mail рассылка
Навигация: Главная » WordPress » E-mail рассылка

Оформление изображений

При публикации картинок, часто требуется каким-то образом их оформить: рамочки добавить или отступы. Лично я предпочитаю использовать для этих целей PhotoShop :-) , но это требует определенных навыков. Поэтому рассмотрим сегодня способы оформления с помощью HTML и CSS.

Основы

Прежде, чем мы приступим непосредственно к написанию кода, определим, что добавлять код мы будем в редакторе WordPress при отключенном визуальном форматировании. Так будет проще добавлять HTML-код. Или же вам нужно будет вызвать отдельное окно к HTML-кодом созданным этим редактором (кнопочка с надписью "HTML").

Простая рамка

Картинка может вполне удобно себя "чувствовать" если ей просто придать тонкую рамку. Цвет рамки вы подбираете на свой вкус, но если не можете определиться, то ставьте черной.

Сам код получается такой:

<img src="путь к вашей картинке" style="border: 1px solid black;">

В данном примере я указал толщин в 1px (пиксел), сплошная линия и черный цвет.

Если нужна рамка потолще, то нужно указать её толщину. Правда учитывайте, что цвет нужно использовать "помягче", например так:

Код такой (привожу только style):

border: 20px solid #F0F0F0;

Значение #F0F0F0 - это светно-серый цвет.

Рамка может быть другого вида. В седьмой рассылке я приводил типы рамок, поэтому мы можем здесь тоже их использовать. Пример двойной рамки:

border: 4px double #003399;

С другими типами рамок вы можете поэкспериментировать самостоятельно.

3D-рамка

Если вы хотите сделать картинку в виде 3D, наподобии кнопки (обычной или нажатой), то для этого используются border с разными цветами сторон. Например, для того, чтобы сделать выпуклость нужно задать цвет верхней и левой стороны светлее, чем нижней и правой.



border-top: 4px solid #FF6666;
border-left: 4px solid #FF6666;
border-bottom: 4px solid #990000;
border-right: 4px solid #990000;

И "нажатость":



border-top: 4px solid #990000;
border-left: 4px solid #990000;
border-bottom: 4px solid #FF6666;
border-right: 4px solid #FF6666;

Должен признаться, что это очень спорное оформление: по-мне так оно "дубоватое", что-ли...

Отступы к рамке

Подойдем к более сложным вещам. Как сделать рамку с некоторым отступом от самой картинки? К сожалению здесь придется добавить дополнительный элемент div. Кроме этого, такой нехороший "товарищЬ" как IE, некорректно понимает стандарты CSS, поэтому придется для него дополнительно использовать хак. Получается вот так:

<div style="display: table;
            width: 0;
            padding: 10px;
            border: 5px solid #007FB5;">
<img src="путь к картинке" style="border: 1px solid #007FB5;">
</div>

В тэге div мы задаем способ отображения (display), ширину (width - это как раз хак для капризного IE), отступ вшешней рамки (padding) и саму рамку (border). Тэг img, мы оформляем как обычно.

Понятно, что наша фантазия может быть безгранична в части оформления внешнего блока (div). Например, можно добавить фон:

<div style="display: table; width: 0; padding: 20px;
            border: 1px solid #BADBF7;
            background: #C2E3FF;">
<img src="путь к картинке" style="border: 6px double #003366;">
</div>

Фон из другой картинки

Разовьем предыдущую мысль и укажем в качестве фона другую картинку, например горизонтальные линии.

<div style="display: table; width: 0; padding: 20px;
            border: 1px solid #BADBF7;
            background: #C2E3FF url(путь к фону);">
<img src="путь к картинке" style="border: 2px solid #003366;">
</div>

Или даже так:

<div style="display: table; width: 0; padding: 20px 30px 20px 30px;
         border: 2px solid #486C81;
         background: #93BEDA url(путь к фону) repeat-x;">
<img src="путь к картинке" style="border: 1px solid #FFFFFF;">
</div>

Совсем сложные...

Если хватит терпения, то можете попробовать совсем сложные рамки.

<div style="display: table; width: 0; padding: 10px 15px 10px 55px;
         border: 1px solid #CCCC99;
         background: #F7F8E6 url(фон 1) repeat-y;">
<div style="display: table; width: 0; padding: 20px 30px 20px 30px;
         border: 2px solid #A26122;
         background: #DCD5B2 url(фон 2) repeat-x;">
<img src="путь к картинке" style="border: 1px solid #A26122;">
</div></div>

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

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

16 комментариев к “Выпуск 17. Рамки к картинкам”

  1. алекс:

    все понятно вопросов нет, многое знал раньше, часть нет. Просто хочу написать спасибо. Пищи еще. Знай что это кому нужно.

  2. Doctor:

    я вот доигрался на своем сайте с картинками - в эсплорере поехал сайдбар, в мозиле все выглядит нормально, в чем косяк найти просто не могу. думаю при помощи твоей статьи и смогу разобраться, но и от помощи не отказался бы.
    :wink:

  3. Максим:

    Просто размер картинки большой.

  4. Максим:

    2алекс: Спасибо!

  5. sonika:

    Я делаю проще — прописываю css правила для картинок в css файле. К примеру, вывод контента обрамлен divом id="content":

    CSS
    div#content img { border: 1px solid #ccc }

    HTML

    ля ля ля

    Тогда у всех картинок, которые будут загружаться в посты посредством визуального редактора, появляется серая (#ccc) рамочка толщиной в 1px. Этот способ я подсмотрела в одной из тем вордпресса.
    В код при этом залазить не нужно — это особенно важно для такого контенгента, как заказчики, с трудом осваивающие визуальный редактор вордпресса и готовых упасть в обморок при таких страшных словах как html, css и код :)

  6. Максим:

    А вот так и не есть гуд :) . Иначе смайлики и всё, что техническое, окажутся в этом оформлении. Ну уж коли эта тема затронута, то скажу, что упростить оформление можно с помощью псевдокода. Но об этом я буду писать в следующем выпуске.

  7. sonika:

    Смайлы я им отключаю конечно. "Техническим" картинкам прописываю рамочкой не оборачиваться.
    Все равно удобно для начинающих пользователей.
    А про псевдо код — интересно, буду ждать расылки!

  8. Максим:

    Да, согласен, для смайликов можно просто указать "стандартный" class wp-smiley.

  9. Владимир:

    Большое спасибо за эту статью

  10. itStep:

    копаю архив рассылки, так что пардон за комменты к "древним" постам. они все же актуальны.

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

  11. TedBeer:

    А в DIV тут же удобно прописывать подписи к картинкам,настроив параметры текста в стилях дива - text-align:center;font-weight:bold;font-size:0.8em а еще можно сделать, чтобы текст обтекал картинку слева или справа - float:right или соотвественно float:left

  12. FantomAs:

    такая проблема хочу сделать простенькую рамку
    .storycontent img {
    padding: 2px;
    border: 1px solid #E6E6E6;
    }

    почему в IE не отображается отступ в 2px? в фф всё нормально :shock:

  13. Dangel:

    почему в IE не отображается отступ в 2px?

    Да забудте вы про этот браузер я не когда под него не делаю дизайны уже достали просто со своим IE

  14. Dimox:

    Да уж, Dangel, IE - это и испытание, и наказание для веб-разработчиков :)

  15. жека:

    А как, пардон, быть, если нужно высроить несколько картинок с рамками (с использованием div) в один ряд? У меня они одна под другой выстраиваются и хоть ты тресни. :sad:

  16. Автомобильный портал:

    А как, пардон, быть, если нужно высроить несколько картинок с рамками (с использованием div) в один ряд? У меня они одна под другой выстраиваются и хоть ты тресни

    Необходимо добавить в div "float: left".
    Например:


Оставьте комментарий! (Вы согласны с правилами)

 

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

При добавлении кода (html, php) заменяйте < на &lt; и > на &gt;.
Внимание: антиспам - зверь! Копируйте своё сообщение перед отправкой. На всякий случай.