На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> динамическое изменение размеров картинки
    Подскажите, как сделать так, чтобы размер картинки зависел от размера текста?
    Поясняю... пользователь может выбрать размер текста в меню броузера: View->Text Size->Large(например) Мне надо, чтобы при смене высоты текста менялась высота картинки.
    Высоту текста, я так поимаю, лучше всего взять как 1 ems, но как мне эту емс подставить в высоту картинки, если она измеряется только пикселями? Уверен, что все держится на CSS и методе onLoad тэга BODY, но как именно это реализовывается я не допер.
    Помогите?
      ExpandedWrap disabled
         
        <img src="..." style="width:[сколько-то]em;height:[то же самое]">
        Размер шрифта задавай: style="font-size: X px" чтобы он не зависил от настройки в браузере.
          я специально сделал так, чтобы размер шрифтов зависел от настроек броузера.
          дизайн у меня не груженый, позволяет пойти на такую жертву, тем более, что это более гуманно по отношению к пользователю
            Цитата
            ako, 29.08.04, 15:11
            <img src="..." style="width:[сколько-то]em;height:[то же самое]em">

            shipbrother
            Цитата
            Высоту текста, я так поимаю, лучше всего взять как 1 ems

            Высота текста это и есть 1em. (По крайней мере в CSS)
            Цитата
            но как мне эту емс подставить в высоту картинки, если она измеряется только пикселями?
            1. Берешь картинку высотой 1em (<img style="height:1em">)
            2. В твоём браузере измеряешь у неё высоту пикселях (Полученный результат это есть количество пикселей в 1em для твоего браузера)
            3. Ширину для картинки вычисляй по формуле:
              Ширина_картинки_в_em=ширина_картинки_в_пикселях/1em_для_твоего_браузера
            4. Высоту для картинки вычисляй по формуле:
              Высота_картинки_в_em=высота_картинки_в_пикселях/1em_для_твоего_браузера
            Учитывая, что пункты 3 и 4 можно автоматизировать (например при помощи серверных скриптов или спец проги), а пункты 1 и 2 проделываются всего один раз - Ничего трудного в этом алгоритме нет :)
              Что бы в ручную не производить пункт 2
              вот тебе скрипт который раскажет тебе сколько px в 1em у тебя в браузере
              (у меня 16px)
              ExpandedWrap disabled
                 
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                <div style="margin:auto;width:1em;background:silver;height:1em"></div>
                <script>
                window.onload=function(){
                var d=document.getElementsByTagName('div')[0];
                d.innerHTML="<nobr>1em = <b>"+d.offsetWidth+"px<\/b></nobr>"
                }
                </SCRIPT>
                здорово!
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0470 ]   [ 15 queries used ]   [ Generated: 26.04.24, 21:35 GMT ]