За последние 24 часа нас посетили 17603 программиста и 1722 робота. Сейчас ищут 875 программистов ...

При изменение ширины изображения пересчитать высоту

Тема в разделе "JavaScript и AJAX", создана пользователем mainet, 30 мар 2014.

  1. mainet

    mainet Активный пользователь

    С нами с:
    31 май 2012
    Сообщения:
    77
    Симпатии:
    0
    Как при изменение ширины изображения пересчитать высоту блока в котором находиться изображение ?
    Спасибо.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    зачем? пусть блок сам подстраивается под содержимое.
     
  3. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Код (PHP):
    1. <?php
    2. $width = 400;
    3. $height = 300;
    4. $prop = $height / $width;// пропорция
    5.  
    6. $width = $width + 100;// новая ширина
    7. $height = $width * $prop;// новая высота 
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    тема размещена в разделе Javascript, как бы намекая, что речь про клиентскую сторону.

    Код (PHP):
    1. <img src="/img/myimg400x300.jpg" style="width: 500px;"> 
    2.  
    3.  
     
  5. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    убираем <?php - вот тебе и js
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    если "дети jquery" задают все размеры и позиции только через скрипт, они сами себя наказывают. по мере роста страницы их жизнь превращается в кошмар.
     
  7. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Насколько помню, авторазмер изображения в браузерах делался по высоте. А если менять ширину, то нет.
    А ещё ТС нужно рассчитать высоту блока, в котором изображение.
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    пересчет от ширины работает, я тебя уверяю.
    по умолчанию блок обволакивает все дочерние элементы и сам находит нужный размер.

    Добавлено спустя 4 минуты 55 секунд:
    http://jsfiddle.net/6L9VA/
     
  9. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ок. Времена меняются. И браузеры становятся лучше. Я помню эту проблему, т.к. приходилось верстать кроссбраузерно.

    mainet, расскажи, что именно делаешь, для чего нужно подгонять высоту?
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    YSandro, не знаю в каком году ты с этим боролся, я где-то в 2010 столкнулся с такой задачей: "как уместить картинку в теме форума, чтобы она не рвала разметку". решение было простым до боли и работало везде:
    Код (Text):
    1. .post img {max-width: 100%;}
    о пропорциях и высоте поста думать не пришлось. и никаких нафиг скриптов! восторг был такой, что я запомнил навсегда )))
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Все просто указывать width всем дочерним и родителям, где родитель имеет auto, а дочерний 100%, и без всяких max-width справится.
    Это коснется старья... В новых все гораздо проще, усовершенствовано буквально все.
    Жить стало легче без костылей!