Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сранное поведение страницы со скриптом
 
 автор: Владимир55   (06.01.2014 в 21:19)   письмо автору
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 страница разваливается самым ужасным образм!

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

Можно ли решить эту проблему?

  Ответить  
 
 автор: confirm   (06.01.2014 в 21:38)   письмо автору
 
   для: Владимир55   (06.01.2014 в 21:19)
 

Чего вы вообще хотите добиться этим "замечательным" скриптом? 100% - это значит изображение будет выводиться на странице с реальным размером по ширине. А если изображение 80рх, а вы прописали 80% вместо пикселей, то будет размер 80% от 80рх. Вам что уменьшать надо изображения менее 100рх по ширине?

  Ответить  
 
 автор: Владимир55   (06.01.2014 в 21:58)   письмо автору
 
   для: confirm   (06.01.2014 в 21:38)
 

Скрипт решает вот какую задачу.

Если ширина изображения 100рх или более, то устанавливается width 100%.

Если изображение менее 100рх, например 47рх, то устанавливается его ширина width 47%.

Разумеется, это проценты от ширины блока, в котором размещается изображение.

  Ответить  
 
 автор: confirm   (06.01.2014 в 22:29)   письмо автору
 
   для: Владимир55   (06.01.2014 в 21:58)
 

Понятно, по родителю и все в относительных единицах. Значит где-то либо из-за наследования стилей, или непосредственно от родителей все хромает.
Кстати, если изменять только атрибут ширины, оставляя высоту как было в пикселях, то в стилях обязательно нужно указать для изображений высоту auto.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования