Показаны сообщения с ярлыком HTML. Показать все сообщения
Показаны сообщения с ярлыком HTML. Показать все сообщения

11 нояб. 2008 г.

Еще порция простоты и изящества

Простое и кроссбраузерное решение для создания резинового блока с фиксированными отступами:


<head>
<style>
body
{
padding:0;
margin: 0;
}
</style>
</head>
<body>
<div style="position: absolute; left: 100px; right: 100px; height:100%; background:#f00; min-width: 300px; overflow: auto;"></div>
</body>


Прошу обратить внимание, что задание position:absolute; делает div потомком уже не body, а непосрдественно окна браузера.
-----------------------------------------------------

Хостинг изображений - radikal.ru

23 окт. 2008 г.

Знаете ли вы, что...


  • Для корректного позиционирования блоков с помощью z-index в Internet Explorer необходимо, чтобы один блок был родителем (или потомком) другого (вот офигенный конструктор на ASP, который позволяет поработать с позиционированием весьма наглядно);
  • Для корректного отображения блока со свойством overflow:auto (скажем, вы внутри div'a собрались прокручивать какое-либо содержимое) в Internet Explorer необходимо задать блоку свойство position (relative, или absolute);
  • Для того, чтобы избавиться от надоедливой рамки из точек вокруг ссылки в фокусе (скажем, в Фаерфоксе) надо пользоваться конструкцией вида:
    a:focus {outline: none;} (via diGreez).

-----------------------------------------------------

Хостинг изображений - radikal.ru

20 сент. 2008 г.

"Намертво приколочено к центру"

По адресу http://www.wpdfd.com/editorial/thebox/deadcentre4.html лежит хороший пример того, как div можно намертво приколотить к центру экрана. Решение кроссбраузерное. Таблицы все больше уходят в небытие:-)

Если же сайт у нас с динамическим содержанием, то для помещения блока по центру надо использовать вычисленное значение его ширины и высоты, деленное на "2". Скажем, ASP позволяет в прописывать в стилевых таблицах имена переменных в качестве числового значения. И там же совершать с ними некие арифметические действия.
-----------------------------------------------------

Хостинг изображений - imageshack.us

17 сент. 2008 г.

CSS и верстка

Подкинули мне тут задачку с подвохом. Типа, сделай так:

Для тех, кто по жизни в носу ковыряет - поясняю. Задача сделать два div-блока, да так, чтобы один перекрывал другой. Я подмал-подумал, да и выдал кросс-браузерную резину:
CSS:

body {
padding: 0px;
margin: 0px;
}

#corn {
position: relative;
float: right;
width: 200px;
height: 100px;
background: #00ffff;
margin-right: -50px;
margin-top: -50px;
z-index: 100:
}

#main {
position: relative;
width: 90%;
height: 450px;
background: #00ff00;
margin: 50px;
z-index: 1;
}

HTML:

<body>
<div id="main">
<div id="corn">
</div>
</div>
</body>


Фишка в том, что элемент считается родительским для другого элемента в том случае, если его позиция отлична от static:-)
-----------------------------------------------------

Хостинг изображений - imageshack.us

13 сент. 2008 г.

web. Садистское.

Как же порой хочется приложить создателей IE6 головой о стену. Верстаю. Резину. На div'ax. Везде все нормально, кроме IE. Даже маковские Camino с Safari все правильно отображают. А вот IE парсит страницу черт-те знает как. Одна из основных головных болей - непонимание "ослом" отрицательных отступов. Сугубо из-за этого придется страницы сайта сохранять с расширением *.php и в таком виде заливать на хостинг. Ибо для многотысячной толпы пользователей IE6 придется подсовывать другую стилевую таблицу. Специально под "осла" заточенную. А на JavaScript переключатель писать тоже не очень правильно - он почти у всех по умолчанию запрещен. Поэтому надо, чтобы сервер до отправки страницы клиенту решил, какую стилевую таблицу ему подсунуть, чтобы все у всех выглядело одинаково.

Да, кстати. Конструкции вида:

voice-family: "\"}\"";

как-то уж очень по-индусски выглядят:-)
-----------------------------------------------------

Хостинг изображений - imageshack.us

3 авг. 2008 г.

Резиновому сайту - резиновые баннеры!

Сегодня я опубликую небольшой трючок, который позволит размещать в шапке сайта баннеры, ширина которых меняется вместе с разрешением экрана. Достигается это с помощью довольно простых средств, а эффект достаточно хорош. Надо только грамотно нарисовать баннер.
К примеру, у нас есть такой баннер:


Для того, чтобы сделать его резиновым, мы разрежем его вот так:






И сделаем "резину".
Если вы верстаете таблицами, листинг будет выглядеть так:

CSS:

td.tab {
background-color: #ff9a2f;
}

td.menu {
background-color: #ffffff;
}

th.logoheader {
margin 0px;
padding: 0px;
background : url(banner.jpg) no-repeat bottom;
background-color: #ffffff;
background-position: left;
height : 50px;}

HTML:

<body>
<table width="80%" height="50" border="0" cellpadding="5" cellspacing="0">
<tr>
<th colspan="2" class="logoheader"><img src="logo.jpg" align="right"></th>
</tr>
<tr>
<td class="tab">Апельси́н (от нидерл. appelsina – «китайское яблоко») — плод апельсинного дерева (Citrus sinensis), родом из Китая. Гибрид, полученный ещё в древности, по видимому смешением мандарина (Citrus reticulata) c помелом (Citrus maxima). Дерево привезено португальцами в Европу и растёт теперь хорошо по всему побережью Средиземного моря, а также в Центральной Америке.

Довольно высокое дерево, относится к семейству Рутовые (Rutaceae) и к его подсемейству Цитрусовые(Citroideae). Цельные многолетние листья апельсина соединяются со своими крылатыми черешками посредством промежуточного широкого сочленения. Белые цветы сидят по 6, кистями и состоят из 5-раздельного малораскрывающегося околоцветника с толстыми долями, множества тычинок и одиночной свободной, или «верхней», завязью (известные «fleurs d’orange»).</td>
<td class="menu">
<ul>
<li>link1</li>
<li>link2</li>
<li>link3</li>
<li>link4</li>
<li>link5</li>
</ul>
</td>
</tr>
</table>
</body>

Если вы верстаете DIV'ами, листинг приобретет такой вид:

CSS:

body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}

#main {
background-color: #ff9a2f;
width: 80%;
}


#banner {
position: relative;
margin 0px;
padding: 0px;
background: url(banner.jpg) no-repeat;
background-color: #ffffff;
background-position: left ;
height : 50px;
}

#text {
position: relative;
float: left;
width: 80%;
background-color: #ff9a2f;
padding: 5px;
}

#menu {
position: relative;
float: right;
}

HTML:

<body>
<div id="main">
<div id="banner">
<div id="logo">
<img src="logo.jpg" align="right">
</div>
</div>
<div id="text">
Апельси?н (от нидерл. appelsina – «китайское яблоко») — плод апельсинного дерева (Citrus sinensis), родом из Китая. Гибрид, полученный ещё в древности, по видимому смешением мандарина (Citrus reticulata) c помелом (Citrus maxima). Дерево привезено португальцами в Европу и растёт теперь хорошо по всему побережью Средиземного моря, а также в Центральной Америке.

Довольно высокое дерево, относится к семейству Рутовые (Rutaceae) и к его подсемейству Цитрусовые(Citroideae). Цельные многолетние листья апельсина соединяются со своими крылатыми черешками посредством промежуточного широкого сочленения. Белые цветы сидят по 6, кистями и состоят из 5-раздельного малораскрывающегося околоцветника с толстыми долями, множества тычинок и одиночной свободной, или «верхней», завязью (известные «fleurs d’orange»).

</div>
<div id="menu">
<ul>
<li>link1</li>
<li>link2</li>
<li>link3</li>
<li>link4</li>
<li>link5</li>
</ul>
</div>
</body>

В принципе, код достаточно понятен безо всяких лишних пояснений. Отсюда можно скачать архив с html-файлами и посмотреть, как это работает "вживую".