Отправляет email-рассылки с помощью сервиса Sendsay

Веб-дизайн. Вопросы и ответы.

  Все выпуски  

Веб-дизайн. Вопросы и ответы. # 37 (117)


Информационный Канал Subscribe.Ru


WEB-дизайн. Вопросы и ответы.
# 37 (117)
15 октября 2002г.
Проект сайта "AGS Design" Dweb.ru & DwebHost.ru
кол-во подписчиков - 16000

    В этом выпуске:

  • Задать вопрос.
  • Вопросы.
  • Вопросы и ответы.
  • Выбор Хостинга.
  • Пиксел к пикселу.
  •   Ссылки Вебмастеру:

  • Иконки и кнопки
  • Flash и Photoshop
  • Баннеры & Фото
  • Анимация, 3D и графика
  • Скрипты (CGI,JS,Applet)
  • Фоны
  • Форум
  • Хостинг
  • Web-дизайн
  • Обменные сети

  • Доброе время суток!

    С этого номера рассылки, помимо вопросов, ответов и др., в каждой рассылке будут публиковаться полезная информация...

    Задать вопрос в рассылку можно ТОЛЬКО на сайте http://dweb.ru, вписываете свой вопрос в форму для Обратной связи (правая колонка) и отсылаете. Вопрос публикуется уже в ближайшей рассылке.

    Вопрос публикуется только один раз (из-за ограничения размера выпуска и огромного кол-ва вопросов)
    Вопросы не относящиеся к тематике рассылки и присланные на е-мейл публиковаться НЕ БУДУТ.
    Маленькая просьба. Если Вы пишете автору ответа, чтобы он уточнил какие-либо детали, то цитируйте в письме вопрос и ответ полностью.


    Свои вопросы Вы также можете задать на нашем Форуме.

    Последние темы форума:
  • Соединение с URL
  • Как узнать размеры рисунка в JS
  • Рисование графиков »Как и какими средствами можно построить график
  • А можно реализовать полупрозрачность?
  • Руссификатор
  • Как сделать во Flash уровень невидимым?
  • Как сделать? »пунктирный и точечный разделитель?
  • Вот доросла до собственного форума »айда - тестировать. без рекламы и баннеров
  • Small Server
  • Нужен совет! »Хочу сделать сайт-тотализатор
  • Запрещенная ссылка
  • Используется SSH-протокол с помошью программы Putty



    Как совместить пиксел к пикселу фон и содержимое во всех браузерах


    Я постоянно слышу, как начинающие дизайнеры жалуются что, когда им нужно совместить какую-то картинку и фон, то в разных браузерах это выглядит по-разному. Многие говорят, что выхода нет. Я тоже так думал и постоянно создавал javascript, который бы выбирал, какой Background использовать для разных броузеров.

    Я нашёл выход и теперь не понимаю, как я раньше не догадался! Работает он с MSIE3, MSIE4 и выше, NN3, NC4 и выше. Напомню, что 97% юзеров используют один из них (или два (или три, как я)). Сразу предупреждаю, что я не скажу ни слова о CSS, так как мой способ работает для всех броузеров, включая NN3.

    Сначала я покажу разницу в том, как работают MSIE и NETSCAPE с margins, а потом напишу code, который нужно использовать. Также я полностью уверен, что другого выхода нет!!!

    Речь поведу о третей и четвёртой версиях Нетскейпа. Они обе ничем не отличаются в плане margins, кроме того, что в четвёртой версии введён тэг <BODY MARGINWIDTH=# MARGINHEIGHT=#>, подобный тэгу MSIE <BODY TOPMARGIN=# LEFTMARGIN=#>, который присутствует в третей и четвёртой версиях MSIE. Разумеется Netscape не захотел просто взять и использовать такие же имена для параметров, и использовал параметр когда-то придуманного ими тэга для <FRAME MARGINWIDTH=# MARGINHEIGHT=#>, о загадочности которого я ещё расскажу.

    То есть можно подвести маленький итог! Используя <BODY MARHINHEIGHT=0 MARGINWIDTH=0 TOPMARGIN=0 LEFTMARGIN=0> в MSIE3, MSIE4 и NC4, можно абсолютно избавиться от margins.

    На этом я мог бы и закончить свою статью, но вы скажете: "А как же NETSCAPE 3?" Так вот именно поэтому я и пишу эту статью.

    В чём главная проблема! Как вы и поняли в NC4 можно контролировать расположение content'а на страничке. Но! В Нетскейпе 3, увы нельзя. Что бы вы не делали, у вас всегда будет margin сверху и слева около 5 пикселов. Я точно не знаю сколько. Достаточно много. Единственный способ от них избавиться, это... использовать фреймы! Да, да, фреймы! Нужно просто-напросто создать два фрэйма:

    <FRAMESET ROWS="*,0">

    Первый фрэйм - это ваша страничка, а второй пустой. Лучше всего туда положить

    <HTML></HTML>

    Сделав это, вы мне скажете: "Ни фига. Всё равно есть граница. Дело в том, что вы забыли, что главный фрэйм должен иметь при себе MARGINHEIGHT=0 MARGINWIDTH=0:

    <FRAME NAME="home" SRC="home.html" MARGINHEIGHT="0" MARGINWIDTH="0">

    Перед тем, как это сделать, проверьте, чтобы в файле HOME.HTML, не было MARGINGHEIGHT и MARGINWIDTH в таге BODY. Иначе вы можете испортить совместимость страницы в NN3 и NC4.

    Сделав это, вы заметите проблему. В обоих нетскапах всё выглядит одинаково: вы увидите границу в один пиксел сверху и слева, но в MSIE границ вообще не будет. Поэтому, вам надо поставить

    <BODY TOPMARGIN=1 LEFTMARGIN=1>

    в HOME.HTML. Теперь похоже, что одинаково. Но нужно кое-что доработать. Во-первых во второй фрэйм нужно поставить

    <FRAME ... NORESIZE SCROLLING=NO>

    А в FRAMESET:

    <FRAMESET ROWS="*,0" BORDER=0>

    Если не будет BORDER=0, то у вас появится белая полоска внизу в MSIE. Проблема, которую я не мог устранить, это белая полоска внизу у NN3 и NC4, даже если есть BORDER=0. Чего я только не добавлял в <FRAMESET> и <FRAME>. Я попробовал всё: BORDER=0, FRAMESPACING=0, FRAMEBORDER=0|NO. Если вы найдёте выход, то напишите мне. Но нас это не должно сильно волновать. Нам нужно избавляться от границ. Цвет той полоски, можно поменять в <BODY BGCOLOR> в пустом файле.

    Ну что ж, кажется всё я сказал. И теперь покажу вам код... О! Забыл. Я забыл рассказать, как я до сих пор не могу понять загадочность MARGINWIDTH и MARGINHEIGHT в Нетскапе 3 и 4. Попробуйте сами, и вы упадёте со стула, когда увидите, как Нетскэйп сам себя обманывает.

    Попробуйте убрать в тэге <FRAME> параметр MARGINHEIGHT=0. И взгляните на страницу в обоих Нетскэйпах. Верхняя граница вообще исчезнет, а левая останется! Теперь поставьте обратно и уберите MARGINWIDTH=0. Левая граница исчезнет, а сверху будет один пиксел! А теперь прикол, уберите оба параметра! Вы получите ту самую, четырёх-пяти пиксельную границу.

    А теперь попробуйте объяснить мне эту закономерность в Нетскейпе! Теперь надеюсь вы поняли, что в Нетскапе 3 невозможно избавиться от обеих границ сразу. Считаю, что самым оптимальным вариантом было бы иметь один пиксел слева и сверху. И вот для этого код:

    INDEX.HTML:

    <HTML><HEAD>
    <TITLE></TITLE>
    </HEAD>
    <FRAMESET ROWS="*,0" BORDER=0>
    <FRAME NAME="home" SRC="home.html" MARGINHEIGHT="0" MARGINWIDTH="0">
    <FRAME NAME="empty" SRC="empty.html" NORESIZE SCROLLING=NO>
    </FRAMESET>
    </HTML>

    HOME.HTML:

    <HTML><HEAD>
    <TITLE></TITLE>
    </HEAD>
    <BODY TOPMARGIN=1 LEFTMARGIN=1>
    Your stuff
    </BODY>
    </HTML>


    EMPTY.HTML:

    <HTML>
    <BODY BGCOLOR=#FFFFFF> (в зависимости от цвета в главном фрэйме)
    </HTML>
    ;

    С этим кодом вы можете смело создавать BGэшки и совмещать их с contentом на страничке. Выглядеть всё будет одинаково во всех броузерах (97%). Под словом "всё" я подразумеваю границы.

    Единственная проблема - эта та полоска внизу в Нетскапах.

    Если вы нашли спорный момент в моей статье, пожалуйста сообщите на rodic000@uwp.edu.

    Источник: http://www.vebius.dax.ru/
    Роман Родичев




    Вопросы

  • 3043. Покажите на примере - как сгенерить таблицу на Perl с использованием MySQL. Т.е. как вывести данные в табличной форме, при этом должна быть шапка таблицы (например, Наименование, количество, цена и т.п.). Количество выводимых столбцов должно задаваться в SQL запросе. Можно ли здесь использовать некие приемы для работы с шаблонами? Т.е. задумка такая - дизайн страницы(таблицы) отдельно, а программирование вывода данных - отдельно. Ответить.

  • 3044. Есть форма с тремя полями ввода для цифр. Как сделать, чтобы в четвертом поле отражалась сумма первых трех (без нажатия на какие-либо-кнопки)? Ответить.

  • 3045. Делаю ролик во Flash с использованием drag&drop. Свойство _droptarget появляется только при попадании в линию или закрашенный объект. А как сделать, чтобы срабатывало и на мувике с рисунком состоящим только из линий? Ответить.

  • 3046. Можно ли и как с помощью HTML тегов/атрибутов заставить NS4.5 - NS6 при отсутствии Flash-playera у клиента отображать на месте вставки Flashки альтернативную .gif, .jpg картинку, а не безликий бледный прямоугольник? Можно ли на стороне сервера узнать о наличии у клиента Flash-playerа? Ответить.

  • 3047. Где можно найти хорошие материалы по Macromedia Generator, желательно на русском, и что нужно для его работы на сервере? Ответить.

  • 3048. Я бы хотел уточнить, зачем при написании некоторых сайтов на таблицах(<Table>)используют прозрачный ресунок размером в 1 пиксель для регулирования размера, когда можно использовать обычные атрибуты Width и Height,? Ответить.

  • 3049. Какой самый лучший сервер для PHP? Ответить.

  • 3050. Существует хотя бы теоретически ли такой скрипт скажем на яве, смысл действия которого заключается в следующем, на страничке есть таблица ширина которой задана в %, при разрешение экрана например 800 на 600 скрипт прописывал одно значение этой таблицы в %, а при другом разрешение скажем 1024 на 768 уже другое. Ответить.

  • 3051. Везды да около статьи о том как прочитать данные из плюшек (cookies). Помогите пожалуйста нужно чтобы эти плюшки удалялись при входе на сайт. Желательно на HTML, JavaScript. Ответить.

  • 3052. Пример SSI: <!--#if expr="${QUERY_STRING}=/sssss/" -->
    <!--#include virtual="/sssss.html?$QUERY_STRING" -->
    <!--#elif expr="${QUERY_STRING}=/bbbbb/" -->
    <!--#include virtual="/bbbbb.html" -->
    <!--#endif -->
    Можно ли на флеш таким же образом проверять переменную, делать GotoAndPlay на нужный кадр (при совпадении условия) и как? Ответить.


  • x. Мне нужно нарисовать простенький флеш-мультик. Сама картинка представлена как карта Сибири или России. С реками и выдуманными дорогами. На этой карте размещены парочка городов и один город всегда горит красным цветом и точка его (на карте) тоже. И к примеру надо нажать на г. Москва. То выдуманы путь от главного города, до наведенного г. Москва, загорался красным цветом, а сам г. Москва, выделялся крупнее. Я бы денег даже заплатила, если это конечно не очень дорого. Или может быть Вы поможете мне нарисовать такой мультик? Ответить.

  • x. Есть скрипт на cgi. Как сделать, чтобы при открытии скрипт выводил пустую страницу, а если набрать sitemgr.cgi?login=login&pass=pass выполнял осн. процедуру, ну то есть запускался? Логин и пасс хотелось бы указ. в переменных. И еще: есть ли способ перевести это все в bytecode? Ответить.


    Вопросы и ответы

  • 3035. Как с помощью CGI скрипта из текущей директории прочитать содержимое директории, выдать список файлов и каталогов (только чтобы отличались файл и каталог с одинаковым именем), права доступа к каждому элементу директории... Знаю что использовать надо opendir и readdir. Однако я получаю только список файлов и катологов без различия. Есть ли возможность на Перле решить эту проблему или надо обращаться к PHP или к другим технологиям? Если возможно, то скажите пожалуйста как?
    Ответ прислал Горький Юрий.
    if (-d "путь") то директория
    else то файл

  • 3036. У меня есть скрипт, который генерит таблицу. Как сделать, что бы в таблице было не больше 4 столбцов?
    Ответ прислал Александр Жешев.
    Вы проверяете на значение 4 левую переменную $row. Откуда вы ее берете? Bp запроса. Почему вдруг массив должен принимать значение 4? Правильный вариант:
    <table border="1">
    <?php
    $db = @mysql_connect("www.ru", "имя", "пароль");
    @mysql_select_db ("имя");
    
    # Не знаю, откуда берем $k
    $sql = "select * from moto1  where kat=$k order by price";
    $result = mysql_query($sql);
    
    print $k;
    print ("<br>") ;
    
    while ($row = mysql_fetch_array($result);)
          {
          if (!$i) echo "<tr>";
    ?>
    <td valign='top'>
    
    <!-- Вложенная таблица -->
    <table>
      <tr>
           <td class='2' valign='top' align="center">
    <img src='./images/<?=$k ?>/<?=$row[pic] ?>.jpg'></center></td>
    
      </tr><tr>
           <td class='2' valign='top'>
           <nobr><?=$row[head] ?></td>
    
      </tr><tr>
           <td class='2' valign='top' align="center">
           <font color='#ff0000'><?=$row["price"] ?></font>
           </td>
      </tr></table>
    <!-- Конец вложенной таблицы -->
    </td>
    
    <?
    if ($i >= 3)
       {
       echo "</tr>";
       $i = 0;
       }
    else $i++;
    } // Конец while
    ?>
    </tr></table>
    Эта штука печатает ровно 4 ячейки в одной строке одной таблицы.

  • 3037. Скажите, что нужно для создания собственного сервера в интернете, чтобы не пользоваться всякими Яндексами, Хохами и т.д. А иметь свое собственное.
    Ответ прислал Александр Жешев.
    Мозги, деньги, руки, желание. Пишите - расскажу.
    Ответ прислал MuToGeN.
    1) прокладываешь выделенку
    2) покупаешь домен
    3) покупаешь сам сервер (стоит НАМНОГО дороже обычного 1-процессорного компа, который в роли веб-сервера, и, наверняка, SQL и FTP сервера просто будет умирать каждые 10 минут)
    4) устанавливаешь, продумываешь безопасность, подключаешь к сети, ставишь в комнату, где постоянно поддерживается определенная температура и влажность, и идешь пить чай.
    короче, все это стоит делать только если дофига денег и БД которая стоит на сервере представляет большую коммерческую ценность.
    Ответ прислал Анатольевич.
    Святая наивность. Нужно как минимум свой сервер, специальная програмщина, армия адимнов и проч. А чем плох Яндекс?
    Ответ прислал Литвинов Вадим.
    Нужна всего одна вещь - деньги, а точнее много денег:(( Для начала надо зарегистрировать свой домен (адрес сайта). Любой более-менее приличный платный хостинг подойдет (типа, DWeb.ru). Затем каждый месяц платить (примерно 5-10 у.е.) + если у тебя слишком высокая посещаемость (обычно трафик - 10000 в месяц) доплачивать еще. Хотя у разных хостингов по-разному, в принципе общая картина выглядит именно так.

  • 3038. Как задать расположение слоев (DIV, SPAN, LAYER, ILAYER) относительно нижнего края окна?
    Ответ прислал Александр Жешев.
    Вычислять высоту окна и ставить свойство DIV style.top (или top для NN) и от него шагать. Про LAYER и ILAYER забудьте, NN с версии 4 поддерживает слои (DIV), а древнее просто нигде нет.
    Ответ прислал Анатольевич.
    Для блоковых элементов задается атрибут valign=bottom.

  • 3039. Не подкинет ли кто-нибудь webbased filemanager с самыми осн. функциями (edit,delete,create file, желательно chmod) написанный на perl,состоящий из одного желательно небольшого cgi файла. и защищенный паролем через форму (в смысле ввод через форму. Защита диры в которой лежит скрипт не пройдет. Еще раз подчеркиваю: нужен именно 1 cgi файл)
    Ответ прислал Alex.
    У меня такого нет, но за небольшую плату могу написать!

  • 3040. Нужен скрипт-форма для отправки анекдотов с сайта на E-Mail.
    Ответ прислал Евгений Шубин.
    Воспользуйся готовым формоотправителем на http://msform.hut.ru Там есть и образец формы с html кодом http://msform.hut.ru/prim.shtml
    Ответ прислал Агапов Александр.
    Сколько платишь?
    Ответ прислал epic.
    Ну совсем за маленькую сумму я напишу на PHP...

  • 3041. На многих хостингах предоставляется 'выделенный IP' за доп. плату, а какая разница-то? С выделенный или нет?
    Ответ прислал Mr.First.
    Если есть свой ип можно к нему любой домен привязать.

  • 3042. У меня на сайт хостер положил пару cgi скриптов, я их открыл а там абракадабра, т.е непонятно что делает скрипт если его не запустить с верным логином и паролем. Вопрос: как зашифровать таким образом исчодник на Перл, чтобы скажем нельзя было выполнить скрипт и и понять из исходника что он делает не введя login/pass, указанные в перемеенных скрипта? Разумеется я знаю, что нормальные люди шифруют в отд. файле логин и пасс, но сущ. ли проги для шифрования (или усложнения прочтения ) всего sourc'a?
    Ответ прислал Mr.First.
    Пользуйся скомпилированными скриптами.
    Ответ прислал MuToGeN.
    Сделай проверку по MD5 и в самом скрипте храни только hash число. если пароль достаточно длинный, то тот кто узнает hash подобрать его точно не сможет.




  • Клуб друзей
    * Сайт для инвалидов - и не только (поиск работы, рефераты).
    * Каталог сайтов - "Армия глазами штатских", призыв, возможности его избежать.
    * Для начинающих - веб-мастеров Ссылки на беспл. места для сайтов, раскрутка.
    * Сайт молодых ученых - статьи, информация, новости, фотографии.
    * Практическая помощь веб-мастеру - услуги и помощь веб-мастеру.
    * Портал Web-Дизайнера.
    * Все короли и королевы - Материалы практикующим преподавателем Англ. языка.
    * Описания спонсоров - которые действительно платят в Россию. Большой список.
    * Обменные сети с выкупом показов.
    В "Клуб друзей" может попасть любой сайт. Ссылки вращаются по КРУГУ постоянно. Как в рассылке, так и на сайте. Правила.



    ICQ - Клуб


    Адрес Клуба http://dweb.ru/1/icq.htm

    Если у Вас возник вопрос по дизайну, графике, скриптам и т.п. То Вы в любой момент можете его задать на странице Клуба любому консультанту находящегося в on-лайне.

    Для тех, кто может, а главное хочет поделиться своими знаниями, Вы можете вступить в наш Клуб, для этого присылайте # ICQ, Имя, E-mail, Город, и темы по которым возможна консультация.

    Авторам

    Вы хотите, чтобы ваши статьи были опубликованы в рассылках 'Веб-Дизайн, азы' и 'Веб-Дизайн. От А до Я'? Если вы считаете, что можете написать о дизайне, скриптам, графике и т.п., если Вам есть что сказать и о чем рассказать, я буду рад сотрудничеству с Вами. Присылайте свои предложения и статьи.
    Давайте вместе делать общее дело! Присылайте свои соображения, мысли, истории... поделитесь своим опытом.
    В качестве гонорара Вы получите несколько строк под Вашей статьёй, для рекламы/описания Вашего сайта.
    Буду рад сотрудничеству.


    Давыденко Дмитрий.     http://dweb.ru/

    © 2000-2002 Copyright by Dweb.RU
    Копирование материалов рассылки возможно только в случае явного указания на сайт "Dweb.RU" как на источник информации. При этом обязательно явное указание адреса: http://dweb.ru/


    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться
    Убрать рекламу

    В избранное