Объект Style


style - это поле практически всех объектов DHTML. C его помощью, по большому счету, и делаются все "навороченные прибамбасы".

Свойства

background, backgroundAttachment, backgroundColor, backgroundImage, backgroundPosition, backgroundPositionX, backgroundPositionY, backgroundRepeat, border, borderBottom, borderBottomColor, borderBottomStyle, borderBottomWidth, borderColor, borderLeft, borderLeftColor, borderLeftStyle, borderLeftWidth, borderRight, borderRightColor, borderRightStyle, borderRightWidth, borderStyle, borderTop, borderTopColor, borderTopStyle, borderTopWidth, borderWidth, clear, clip, color, cssText, cursor, display, filter, font, fontFamily, fontSize, fontStyle, fontVariant, fontWeight, height, left, letterSpacing, lineHeight, listStyle, listStyleImage, listStylePosition, listStyleType, margin, marginBottom, marginLeft, marginRight, marginTop, overflow, paddingBottom, paddingLeft, paddingRight, paddingTop, pageBreakAfter, pageBreakBefore, pixelHeight, pixelLeft, pixelTop, pixelWidth, posHeight, position, posLeft, posTop, posWidth, styleFloat, textAlign, textDecoration, textDecorationBlink, textDecorationLineThrough, textDecorationNone, textDecorationOverline, textDecorationUnderline, textIndent, textTransform, top, verticalAlign, visibility, width, zIndex

Методы

getAttribute, removeAttribute, setAttribute


Как пользоваться. Как правило, атрибуты элементов задаются с помощью каскадных таблиц стилей (css), которые выносят в тэги <style></style> в заголовок документа, или же в отдельный файл (в заголовке документа пишут при этом нечто вроде   "<link rel="stylesheet" href="css.css" type="text/css">, а вообще, поставьте себе HomeSite и разберитесь в 5 минут), либо задают прямо в тэгах, например
<hr style="color:green">

Обратите внимание на отличие формата записи. "Многословные" параметры, при обращении к ним из JS, пишутся слитно, а в CSS - через дефис. Т.е. в CSS, например, задано:

<style>
body
{
background-color:#ffffff;
}

</style>,
а при изменении цвета фона документа из JS, мы пишем

<script>
document.body.style.backgroundColor="#FF0000";
</script>

Как обращаться:
1) Мы можем присвоить каждому тэгу свой ID, и обращаться так:
...
<h1 ID="H_1">Hello</h1>
...
<script>
document.all.H_1.style.color="red";
document.all.H_1.style.textDecoration="underline";
</script>

Hello

2) Если у нас несколько тэгов с одинаковым ID, обращаемся посредством document.all

header1
header2

<script>
function under2()
{
document.all.h_5[0].style.textDecoration="underline";
document.all.h_5[1].style.color="red";
}
</script>
<h5 ID="h_5">header1</h5>
<h5 ID="h_5">header2</h5>
<input type="Button" onClick="under2()" value="begin under2()">,

т.е. обращаемся по индексу.

3) Абсолютно аналогично предыдущему примеру, через набор document.all.item

HEADER3

HEADER4

<h3 ID="H_3">HEADER3</h3>
<h3 ID="H_3">HEADER4</h3>
<script>
function header3()
{
document.all.item("H_3",0).style.textDecoration="underline";
document.all.item("H_3",1).style.color="red";
}
</script>
<input type="Button" onClick="header3()" value="begin header3()">

4) Через document.all.tags:

document.all.tags("hr")[10].style.color="0000FF";

т.е. объектная модель документа подразумевает, что все одинаковые тэги получают свой порядковый номер сверху вниз по тексту HTML, и мы можем в любой момент обратиться к любому элементу по его порядковому номеру.


Свойства

background сложное свойство, может задаваться как нижеследующими семью параметрами, записываемыми в кавычках через пробел одновременно,

style="background : black repeat-y fixed center";

Так и по отдельности (см. ниже).

backgroundAttachment fixed | scroll. Либо фон движется с документом, либо стоит на месте.
<body style="background-attachment:fixed">

css->background-attachment

backgroundColor число (#FF0000, например)

css->background-color

backgroundImage url.

css->background-image

backgroundPosition координаты фоновой картинки.

css->background-position

backgroundPositionX
backgroundPositionY
backgroundRepeat Повторения фоновой картинки

css->background-repeat

no-repeat не повторяется
repeat-y повторяется вертикально
repeat-x "--" горизонтально
repeat и так и сяк
border, borderBottom, borderBottomColor, borderBottomStyle, borderBottomWidth, borderColor, borderLeft, borderLeftColor, borderLeftStyle, borderLeftWidth, borderRight, borderRightColor, borderRightStyle, borderRightWidth, borderStyle, borderTop, borderTopColor, borderTopStyle, borderTopWidth, borderWidth Параметры бордюра элемента. Соответственно top, left, bottom, right - края элемента.

Color - знакомое нам число;
Style - границы элемента -  none (не рисуется), solid (простая линия), double (двойная линия), groove (желобок), ridge (гребешок), inset (впуклая впуклость) и outset (выпуклая выпуклость)
Width - толщина в cm, mm, px, pt, em, in

Соответствующий аттрибут css записывается через дефисы:
border-right-color

clear
clip устанавливает или определяет видимую часть элемента
style="clip:rect(0 50 50 0)". Любая координата может быть установлена в auto.

css->clip 

color число

body.style.color="#FFFF00";

css->color

cssText строка. Отменяет css, заданную тэгами <style> и <link>
cursor тип курсора на элементом={default, hand, crosshair, help, move, -resize(c приставкой n, ne, nw, s, se, sw, e, w), text, wait

css->cursor

display none | block, inline, list-item . Разницы между последними нет. В отличие от visible, не резервирует место под элемент. см. готовые решения - эффект блокнота(2)

document.all.S1.display="none";
document.all.S2.display="";//можно и так (то есть он появляется)

сss->display

filter см. фильтры
font Сложное свойство - сочетание нижеследующих. Параметры отделяются пробелами

sVar.style.font = "normal small-caps 12pt serif";

css->font

fontFamily Один из шрифтов, установленных в системе (serif, monospace...).

css->font-family

fontSize xx-large, x-large, larger, large, medium, small, smaller, x-small, xx-small, или в %, или  в cm, mm, px, pt, em, in.

css->font-size

fontStyle normal, italic, oblique.

css->font-style

fontVariant normal, small-caps

css->font-variant

fontWeight normal, bolder, bold, lighter, или 100-900

css->font-weight

height высота объекта. %, cm, mm, px, pt, em, in

css->height

left расстояние до левого края объекта. %, cm, mm, px, pt, em, in

css->left

letterSpacing расстояние между буквами. cm, mm, px, pt, em, in, или normal

css->letter-spacing

lineHeight расстояние между строками в параграфе(%, или cm, mm, px, pt, em, in, или normal)

css->line-height

listStyle, listStyleImage, listStylePosition, listStyleType listStyle-комбинация остальных. Свойство применяется к спискам.
listStyleImage-url;
listStylePosition-(inside|outside) - определяет положение элемента списка;
listStyleType-(disc,circle,square,decimal, lower-roman, upper-roman, lower-alpha, upper-alpha) - маркер элемента списка.

css->list-style, list-style-image, list-style-position, list-style-type

margin, marginBottom, marginLeft, marginRight, marginTop определяет поля элемента. %, cm, mm, px, pt, em, in, или auto. margin - сложное свойство, подобное background

css->margin, margin-bottom, margin-left, margin-right, margin-top

overflow, overflow-x, overflow-y определяет, что делать с элементом, если он не влазит в свои границы. Принимает значения:

scroll, visible, hidden, auto

pageBreakAfter, pageBreakBefore Определяет, должна ли страница оборваться на текущем элементе, если он не помещается на экране целиком, и содержимое какой страницы (верхней или нижней) должно появится на экране. Свойство нужно только для печати.

auto - вставляет разрыв страницы по необходимости
always - всегда вставляет разрыв
left, right - элемент помещается соответственно на правой или левой странице.

 

pixelHeight, pixelLeft, pixelTop, pixelWidth В отличие от height и т.п. - эти значения - числа типа integer, и всегда интерпретируются как количество пикселей, а не как строка

css->left, height, width, top

posHeight, position, posLeft, posTop, posWidth То же самое, только это числа - с плавающей запятой.

css->left, height, width, top

document.all.tags("IMG").item(0).style.posHeight += 10;
textDecoration none, underline, overline, line-trough
<a href style="text-decoration:none>a</a>

css->text-decoration;

textAlign Выравнивание шрифта. left, right, center,  justify

css->text-align

textIndent Отступ текста в элементе. %, cm, mm, px, pt, em, in. Не определяется для вложенных тэгов (<b>asd<i>fgh</i>hjk</b>

сss->text-indent

textTransform =capitalize - первая буква каждого слова становится заглавной,lowercase - все строчные, uppercase - прописные

css->text-transform

top Позиция элемента относительно верхнего края документа   %, cm, mm, px, pt, em, in

css->top

verticalAlign Вертикальное выравнивание элемента

sub, super, top, middle, bottom, baseline, text-top, text-bottom

css->vertical-align

visibility hidden, visible,inherit. В отличие от display, резервирует место под элемент,  то есть, когда он невидимый, оставшееся место ничем не заполняется.

css->visibility

width ширина. %, cm, mm, px, pt, em, in

css->width

zIndex z-порядок. Если существует несколько элементов в одной области, z-index определяет, какой элемент будет скрыт другими. В любом случае, элементы с меньшим индексом будут находиться "под" элементами с большим индексом.

css->z-index

Hosted by uCoz