суббота, 5 марта 2016 г.

Графика во всплывающем слое


Многие публикации содержат помимо текста - картинки, графики всевозможные, выполненные виде превьюшек. Для более детального ознакомления с графикой придумано много способов и основном для этих целей юзается JavaScript, зачастую не мерянных оъемов.
Автор сего блога ни разу не программист и ему проще сваять нечто подобное на чистом html и css.
Рассматриваем частную задачу, а именно - есть картинка, клик по ней не отправляет посетителя на новую страницу, он открывает туже картинку (может быть иной) в этом же окне без перезагрузки браузера, клик по любой точке открывшегося слоя все возвращает в исходное состояние.
html
<div class="clicimg">
  <img tabindex="1" src="XXX.xxx">
  <dl>
    <dt></dt>
    <dd><img src="XXX.xxx"></dd>
  </dl>
</div>


css
.clicimg {margin:10px 25px 0 20px;}
.clicimg img {
  border:none;cursor:pointer;
  display:block;outline:0;width:200px;height:auto;
}
.clicimg dl {display:none;}
.clicimg dl dd {
  background:#ccc;cursor:pointer;position:fixed;
  top:5%;bottom:5%;left:20%;right:20%;z-index:100;
  vertical-align:middle;width:600px;text-align:center;
}
.clicimg dl img {
  border:#ccc 1px solid;margin:4px auto;width:470px;height:auto;
}
.clicimg dt {
  background:#000;opacity:0.4;filter:alpha(opacity=40);
  position:fixed;top:0;left:0;z-index:1;width:100%;height:100%;
}
.clicimg :focus + dl,
.clicimg :active + dl {display:block;}
.clicimg dl:hover {display:block\0/;}
Пояснений ни к html-коду, ни к стилям не предусмотрено, все достаточно очевидно и прозрачно. Настройки параметров, как в исходном состоянии, так и во всплывающем слое достаточно просты и обладают соответствующей гибкостью для любой разметки web-страницы.
Есть проблема центрирования картинки по вертикали во всплывающем слое, но предложенное решение лишь только демонстрация возможностей "Каскадных таблиц стилей", позволяющих не использовать JavaScript без необходимости и может пригодиться всем тем, кто далек от программирования или владеет им на уровне метода "научного тыка" :)
Все работоспособно в современных браузерах.
В IE8 после клика на любую точку всплывающего слоя, необходимо вынести курсор мыши за пределы рабочей области окна браузера.
IE6(7) отдыхают :)
К плюсам можно отнести отвязку от движка CMS.
Может быть актуальным для Gold Shop Lasto при оформлении лотов магазина насыщенных графикой. Простое копирование html-конструкции в тело лота и размещение стилей в основном файле стилей во многом упростит работу web-мастера по предоставлению более детальной информации о товаре.

Комментарии к этой заметке больше не принимаются.

0 коммент.:

Отправить комментарий