Сделать подписи к изображениям в Wordpress адаптивными
22 июл. 2013 г., 05:25:52
Просмотры: 13.8K
Голосов: 10
Эта веб-страница содержит изображения, вставленные через Wordpress. Код, используемый для вставки первого изображения:
[caption id="attachment_887" align="alignnone" width="604"]
<a href="http://steven.doig.com.au/files/2013/06/Forest_Legacy_m.jpg">
<img class="size-large wp-image-887" alt="Группа Forest Legacy" src="http://steven.doig.com.au/files/2013/06/Forest_Legacy_m-1024x681.jpg" width="1024" height="681" />
</a> Группа Forest Legacy[/caption]
Это изображение контролируется CSS:
#content .wp-caption a img {
width: 614px;
height: auto;
}
Я хочу сделать это изображение адаптивным. Я добавил CSS:
@media (max-width:988px) {
#content .wp-caption a img {
width: 99.03225806%; /* 614/620 */
height: auto;
}
}
Однако DIV.wp-caption остается 604px, как указано внутри записи Wordpress. Я пробовал указать это в процентах (97.41935483%), но Wordpress интерпретировал это как 104px.
Inline CSS переопределяет CSS, который я вставляю в таблицу стилей.
<div id="attachment_887" class="wp-caption alignnone" style="width: 614px">
Есть идеи, как сделать .wp-caption адаптивным?

Steve
1.75K
Все ответы на вопрос
4
0
Вам понадобится использовать следующий код:
@media (max-width: 988px){
.wp-caption {
/* Принудительно задаем ширину блока 100% */
width: 100% !important;
}
#content .wp-caption a img {
/* Масштабирование, если изображение слишком большое */
max-width: 99.03225806%; /* 614/620 */
height: auto;
}
}

David Kryzaniak
548
22 июл. 2013 г. 05:47:07
0
Другой вариант - изменить вывод шорткода, чтобы ширина больше не была жестко задана. Модифицируем пример из Codex, убрав ширину:
add_filter('img_caption_shortcode', 'my_img_caption_shortcode_filter',10,3);
/**
* Фильтр для замены текста шорткода [caption] на HTML5-совместимый код
*
* @return string HTML-контент с описанием вложенной фигуры
**/
function my_img_caption_shortcode_filter($val, $attr, $content = null)
{
extract(shortcode_atts(array(
'id' => '',
'align' => '',
'width' => '',
'caption' => ''
), $attr));
if ( 1 > (int) $width || empty($caption) )
return $val;
$capid = '';
if ( $id ) {
$id = esc_attr($id);
$capid = 'id="figcaption_'. $id . '" ';
$id = 'id="' . $id . '" aria-labelledby="figcaption_' . $id . '" ';
}
return '<figure ' . $id . 'class="wp-caption ' . esc_attr($align) . '" >'
. do_shortcode( $content ) . '<figcaption ' . $capid
. 'class="wp-caption-text">' . $caption . '</figcaption></figure>';
}
http://codex.wordpress.org/Function_Reference/add_filter#Example

helgatheviking
14.5K
22 июл. 2013 г. 06:43:59
Похожие вопросы
1
ответов