|
 106.8 Кб |
|
| Визуальный редактор при вставке графических материалов вырабатывает код вида
<img src="/1-my-images/328904408.jpg" width="170" height="79" style="float: right;" />
|
Параметр width с помощью специального скрипта пробразуется в ширину картинки таким образом, что численное значение ширины в пикселях интерпретируется как то же самое количество процентов, а если ширина больше 100 пикселей, то принимается равной 100%. Вот этот замечательный скрипт:
<script>
$(function(){
$('.image_formatting img').each(function(){
$(this).attr('width', parseInt($(this).attr('width'))>100 ? '100%' : $(this).attr('width')+'%');
$(this).removeAttr('height');
});
});
</script>
|
Если бы в коде отсутствовал параметр style, то все было бы великолепно. Но наличие этого параметра меняет ситуацию самым странным образом: если ширина графики ненамного больше 100рх, то все нормально. Но если ширина намного больше 100рх, то скрипт отказывается её переварить!
Вот здесь http://wowa55.pz9.ru/ind-732.html тестовая страница, в которой размер графики составляет не более 170 пискселей. Во всех браузерах все нормально.
А вот здесь http://wowa55.pz9.ru/ind-731.html та же страница, но ширина графики порядка 950рх. И в браузерах Яндекс, Сафари и Maxthon страница разваливается самым ужасным образм!
Я не стал приводить коды этих страниц, чтобы не загромождать текст поста, ибо их легко увидеть в браузере при просмотре по ссылкам. Но во вложении есть скриншот развалившейся в браузере Яндекс страницы (на случай, если у Вас нет этого браузера).
Можно ли решить эту проблему? | |
|
|
|
|
|
|
|
для: Владимир55
(06.01.2014 в 21:19)
| | Чего вы вообще хотите добиться этим "замечательным" скриптом? 100% - это значит изображение будет выводиться на странице с реальным размером по ширине. А если изображение 80рх, а вы прописали 80% вместо пикселей, то будет размер 80% от 80рх. Вам что уменьшать надо изображения менее 100рх по ширине? | |
|
|
|
|
|
|
|
для: confirm
(06.01.2014 в 21:38)
| | Скрипт решает вот какую задачу.
Если ширина изображения 100рх или более, то устанавливается width 100%.
Если изображение менее 100рх, например 47рх, то устанавливается его ширина width 47%.
Разумеется, это проценты от ширины блока, в котором размещается изображение. | |
|
|
|
|
|
|
|
для: Владимир55
(06.01.2014 в 21:58)
| | Понятно, по родителю и все в относительных единицах. Значит где-то либо из-за наследования стилей, или непосредственно от родителей все хромает.
Кстати, если изменять только атрибут ширины, оставляя высоту как было в пикселях, то в стилях обязательно нужно указать для изображений высоту auto. | |
|
|
|