Kompx.com or Compmiscellanea.com

Выравнивание по центру с помощью JavaScript и CSS

Windows : Internet Explorer 6.0+, Firefox 1.0+, Google Chrome, Opera 9.0+ [ 1 ], Safari 3.1+, SeaMonkey 1.0+.

Linux : Firefox 1.0+, Chromium, Opera 9.0+ [ 2 ], SeaMonkey 1.0+.

Выравнивание содержимого страницы по центру, по ширине и по высоте с помощью JavaScript и CSS. По центру выравнивается контейнер, в котором находится всё содержимое веб-страницы. Два случая:

1. Контейнер выравнивается по центру, если разрешение экрана монитора равно или больше 1024x768 - [ Открыть страницу-пример ]

2. Контейнер выравнивается по центру, если разрешение экрана монитора равно или больше 1024x768 + курсор мыши наводится на ссылку в одном из элементов содержимого страницы - [ Открыть страницу-пример ]

Выравнивание по центру, по ширине и по высоте с помощью JavaScript и CSS. Случай первый. По шагам.

1. Создается страница, чьей частью будет элемент, который будет выравниваться по центру, по ширине и по высоте с помощью JavaScript и CSS:

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Первый случай. Шаг 1</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="1.css" />

</head>

<body>

 

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

2. В теле данной страницы создается элемент A (серый цвет) блочного уровня c явно указанными размерами, например, 800 на 500 пикселов и относительным позиционированием. [ Результат ].

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Первый случай. Шаг 2</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="2.css" />

</head>

<body>

<div class="element_A">&nbsp;</div>

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

.element_A {position: relative; top: 0px; left: 0px; width: 800px; height: 500px; background-color: #999999;}

3. Создается внешний JavaScript файл ( JavaScript код файла c построчными комментариями и разъяснениями ), который занимается определением технических характеристик браузера и дисплея пользователя, и при заданном условии (разрешении экрана монитора равного или больше 1024x768), производит необходимые манипуляции, что бы добиться выравнивания элемента A по центру, по ширине и по высоте. Между тегами <head></head> HTML файла прописывается ссылка на этот внешний JavaScript файл. [ Результат ]

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Первый случай. Шаг 3</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="3.css" />

<script type="text/javascript" src="3.js"></script>

</head>

<body>

<div class="element_A" id="element_A">&nbsp;</div>

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

.element_A {position: relative; top: 0px; left: 0px; width: 800px; height: 500px; background-color: #999999;}

JavaScript. Код:

var wresolution=screen.width;

var hresolution=screen.height;

function centering(){

if(wresolution>=1024 && hresolution>=768){

if(window.getComputedStyle){

var h=document.documentElement.clientHeight;

var w=document.documentElement.clientWidth;

var element_A = window.getComputedStyle(document.getElementById('element_A'), '');

var element_A_width=parseInt(element_A.getPropertyValue('width'));

var element_A_height=parseInt(element_A.getPropertyValue('height'));

document.getElementById('element_A').style.left=(w-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h-element_A_height)/2+'px';

}

else{

var h2=document.documentElement.clientHeight;

var w2=document.documentElement.clientWidth;

var element_A=document.getElementById('element_A');

var element_A_width=parseInt(element_A.currentStyle.width);

var element_A_height=parseInt(element_A.currentStyle.height);

document.getElementById('element_A').style.left=(w2-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h2-element_A_height)/2+'px';

};

window.onresize=centering;

};

};

window.onload=centering;

Страница примера выравнивания по центру с помощью JavaScript и CSS, итоговый результат [ Результат ] [ Cкачать в архиве ].

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Первый случай. Итоговый результат</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="javascript-css-vyravnivanie.css" />

<script type="text/javascript" src="javascript-css-vyravnivanie.js"></script>

</head>

<body>

<div class="element_A" id="element_A">

<div class="box">

<div class="site"><span class="sitecontent"><a href="http://www.compmiscellanea.com/" class="sitelink">compmiscellanea.com</a></span></div>

<h1><span class="title"><span class="titlecontent"><a href="vyravnivanie-po-centru-javascript-css.htm" class="titlelink">Выравнивание по центру с помощью JavaScript и CSS</a></span></span></h1>

</div>

</div>

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

.element_A {position: relative; top: 0px; left: 0px; width: 800px; height: 500px; background-color: #999999;}

/*---------------- Содержимое элемента A ----------------*/

h1 {font-weight: normal; margin: 0px; float: left; font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff;}

.box {position: relative; top: 0px; left: 45px; width: 708px; height: 408px; float: left; border: 1px solid #ffffff; margin-top: 45px;}

.site {position: relative; top: 0px; left: 0px; width: 708px; height: auto; float: left; margin-top: 152px; text-align: center;}

.sitecontent {position: relative; top: 0px; left: 0px; height: auto; width: auto; margin: auto; display: table; display: inline-block; text-align: left;}

.title {position: relative; top: 0px; left: 0px; width: 708px; height: auto; float: left; text-align: center;}

.titlecontent {position: relative; top: 0px; left: 0px; width: auto; height: auto; margin: auto; display: table; display: inline-block; text-align: left; word-spacing: 2px;}

a.sitelink:link {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #000000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.sitelink:visited {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #000000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.sitelink:hover {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #cc0000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.sitelink:active {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #000000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.titlelink:link {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff; font-weight: normal; text-decoration: none; float: left;}

a.titlelink:visited {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff; font-weight: normal; text-decoration: none; float: left;}

a.titlelink:hover {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #cc0000; font-weight: normal; text-decoration: none; float: left;}

a.titlelink:active {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff; font-weight: normal; text-decoration: none; float: left;}

/*---------------- Содержимое элемента A ----------------*/

JavaScript. Код:

var wresolution=screen.width;

var hresolution=screen.height;

function centering(){

if(wresolution>=1024 && hresolution>=768){

if(window.getComputedStyle){

var h=document.documentElement.clientHeight;

var w=document.documentElement.clientWidth;

var element_A = window.getComputedStyle(document.getElementById('element_A'), '');

var element_A_width=parseInt(element_A.getPropertyValue('width'));

var element_A_height=parseInt(element_A.getPropertyValue('height'));

document.getElementById('element_A').style.left=(w-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h-element_A_height)/2+'px';

}

else{

var h2=document.documentElement.clientHeight;

var w2=document.documentElement.clientWidth;

var element_A=document.getElementById('element_A');

var element_A_width=parseInt(element_A.currentStyle.width);

var element_A_height=parseInt(element_A.currentStyle.height);

document.getElementById('element_A').style.left=(w2-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h2-element_A_height)/2+'px';

};

window.onresize=centering;

};

};

window.onload=centering;

Выравнивание по центру, по ширине и по высоте с помощью JavaScript и CSS. Случай второй. По шагам.

1. Создается страница, чьей частью будет элемент, который будет выравниваться по центру, по ширине и по высоте с помощью JavaScript и CSS:

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Второй случай. Шаг 1</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="1.css" />

</head>

<body>

 

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

2. В теле данной страницы создается элемент A (серый цвет) блочного уровня c явно указанными размерами, например, 800 на 500 пикселов и относительным позиционированием. [ Результат ]

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Второй случай. Шаг 2</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="2.css" />

</head>

<body>

<div class="element_A">&nbsp;</div>

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

.element_A {position: relative; top: 0px; left: 0px; width: 800px; height: 500px; background-color: #999999;}

3. Создается внешний JavaScript файл ( JavaScript код файла c построчными комментариями и разъяснениями ), который занимается определением технических характеристик браузера и дисплея пользователя, и при заданном условии (разрешении экрана монитора равного или больше 1024x768) + заданном действии (наведении курсора мыши на ссылку в элементе A), производит необходимые манипуляции, что бы добиться выравнивания элемента A по центру, по ширине и по высоте. Между тегами <head></head> HTML файла прописывается ссылка на этот внешний JavaScript файл. В элементе A ссылка с обработчиком событий onMouseOver, в котором название соответствующего скрипта. [ Результат ]

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Второй случай. Шаг 3</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="3.css" />

<script type="text/javascript" src="3.js"></script>

</head>

<body>

<div class="element_A" id="element_A">

<a href="vyravnivanie-po-centru-javascript-css.htm" class="link" onmouseover="centering();">Выравнивание по центру с помощью JavaScript и CSS</a>

</div>

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

.element_A {position: relative; top: 0px; left: 0px; width: 800px; height: 500px; background-color: #999999; text-align: center;}

a.link:link {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 33px; color: #ffffff; font-weight: normal; text-decoration: none; position: relative; top: 44%;}

a.link:visited {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 33px; color: #ffffff; font-weight: normal; text-decoration: none; position: relative; top: 44%;}

a.link:hover {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 33px; color: #cc0000; font-weight: normal; text-decoration: none; position: relative; top: 44%;}

a.link:active {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 33px; color: #ffffff; font-weight: normal; text-decoration: none; position: relative; top: 44%;}

JavaScript. Код:

var wresolution=screen.width;

var hresolution=screen.height;

function centering(){

if(wresolution>=1024 && hresolution>=768){

if(window.getComputedStyle){

var h=document.documentElement.clientHeight;

var w=document.documentElement.clientWidth;

var element_A = window.getComputedStyle(document.getElementById('element_A'), '');

var element_A_width=parseInt(element_A.getPropertyValue('width'));

var element_A_height=parseInt(element_A.getPropertyValue('height'));

document.getElementById('element_A').style.left=(w-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h-element_A_height)/2+'px';

}

else{

var h2=document.documentElement.clientHeight;

var w2=document.documentElement.clientWidth;

var element_A=document.getElementById('element_A');

var element_A_width=parseInt(element_A.currentStyle.width);

var element_A_height=parseInt(element_A.currentStyle.height);

document.getElementById('element_A').style.left=(w2-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h2-element_A_height)/2+'px';

};

window.onresize=centering;

};

};

Страница примера выравнивания по центру с помощью JavaScript и CSS, итоговый результат [ Результат ] [ Cкачать в архиве ].

HTML / XHTML. Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

<title>Выравнивание по центру с помощью JavaScript и CSS. Второй случай. Итоговый результат</title>

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />

<link rel="stylesheet" type="text/css" href="javascript-css-vyravnivanie.css" />

<script type="text/javascript" src="javascript-css-vyravnivanie.js"></script>

</head>

<body>

<div class="element_A" id="element_A">

<div class="box">

<div class="site"><span class="sitecontent"><a href="http://www.compmiscellanea.com/" class="sitelink">compmiscellanea.com</a></span></div>

<h1><span class="title"><span class="titlecontent"><a href="vyravnivanie-po-centru-javascript-css.htm" class="titlelink" onmouseover="centering();" >Выравнивание по центру с помощью JavaScript и CSS</a></span></span></h1>

</div>

</div>

</body>

</html>

CSS. Код:

html {height: 100%; margin: 0px;}

body {background-color: #ffffff; margin: 0px; height: 100%;}

.element_A {position: relative; top: 0px; left: 0px; width: 800px; height: 500px; background-color: #999999;}

/*---------------- Содержимое элемента A ----------------*/

h1 {font-weight: normal; margin: 0px; float: left; font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff;}

.box {position: relative; top: 0px; left: 45px; width: 708px; height: 408px; float: left; border: 1px solid #ffffff; margin-top: 45px;}

.site {position: relative; top: 0px; left: 0px; width: 708px; height: auto; float: left; margin-top: 152px; text-align: center;}

.sitecontent {position: relative; top: 0px; left: 0px; height: auto; width: auto; margin: auto; display: table; display: inline-block; text-align: left;}

.title {position: relative; top: 0px; left: 0px; width: 708px; height: auto; float: left; text-align: center;}

.titlecontent {position: relative; top: 0px; left: 0px; width: auto; height: auto; margin: auto; display: table; display: inline-block; text-align: left; word-spacing: 2px;}

a.sitelink:link {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #000000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.sitelink:visited {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #000000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.sitelink:hover {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #cc0000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.sitelink:active {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 48px; color: #000000; font-weight: normal; text-decoration: none; text-transform: uppercase; float: left;}

a.titlelink:link {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff; font-weight: normal; text-decoration: none; float: left;}

a.titlelink:visited {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff; font-weight: normal; text-decoration: none; float: left;}

a.titlelink:hover {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #cc0000; font-weight: normal; text-decoration: none; float: left;}

a.titlelink:active {font-family: "Times New Roman", "Liberation Serif", serif; font-size: 25px; color: #ffffff; font-weight: normal; text-decoration: none; float: left;}

/*---------------- Содержимое элемента A ----------------*/

JavaScript. Код:

var wresolution=screen.width;

var hresolution=screen.height;

function centering(){

if(wresolution>=1024 && hresolution>=768){

if(window.getComputedStyle){

var h=document.documentElement.clientHeight;

var w=document.documentElement.clientWidth;

var element_A = window.getComputedStyle(document.getElementById('element_A'), '');

var element_A_width=parseInt(element_A.getPropertyValue('width'));

var element_A_height=parseInt(element_A.getPropertyValue('height'));

document.getElementById('element_A').style.left=(w-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h-element_A_height)/2+'px';

}

else{

var h2=document.documentElement.clientHeight;

var w2=document.documentElement.clientWidth;

var element_A=document.getElementById('element_A');

var element_A_width=parseInt(element_A.currentStyle.width);

var element_A_height=parseInt(element_A.currentStyle.height);

document.getElementById('element_A').style.left=(w2-element_A_width)/2+'px';

document.getElementById('element_A').style.top=(h2-element_A_height)/2+'px';

};

window.onresize=centering;

};

};

Выравнивание по центру, по ширине и по высоте с помощью JavaScript и CSS

Использование этого способа для простых случаев, когда требуется только задать какое-то неизменное позиционирование объекта - не имеет смысла. Это вполне возможно сделать, но просто задать элементу некое статичное положение в видимой области окна браузера проще и надежней через выравнивание по центру с помощью CSS. А вот когда необходимо, что бы выравнивание по центру, по ширине и по высоте происходило только при каких-то условиях или после какого-то действия, то тогда использование способа выравнивание по центру, по ширине и по высоте с помощью JavaScript и CSS становится необходимым. Вместо JavaScript можно использовать VBscript или Java, но JavaScript и его вариант JScript работает на гораздо большем количестве платформ и программного обеспечения, чем VBscript и проще в реализации, чем вариант с Java.

Причин и способов использования выравнивания по центру, по ширине и по высоте с помощью JavaScript и CSS может быть множество, но суть их всех сводится к выяснению условий, технических характеристик браузера и дисплея пользователя и на основе полученных сведений реализации тех или иных сценариев, если обнаруживается заданное условие или совершается заданное действие. Действие сценария может совершаться напрямую в отношении свойств элемента или в отношении того, какой внешний файл стилевых описаний загружается, уже через который будут задаваться новые свойства у данного элемента.

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

Рассматривается самый простой случай - для демонстрации самой возможности и ее принципа - динамического изменения положения элемента в видимой области окна браузера.

Первый случай

Условие: если разрешение экрана монитора равно или больше 1024 на 768 пикселов, то тогда выровнять содержимое страницы по ширине и высоте

Создается элемент A с указанными в явном виде шириной и высотой. Определяется разрешение экрана монитора - некое заданное значение которого будет служить условием, при котором будет срабатывать скрипт, например - 1024x768. В случае, если скрипт обнаруживает, что разрешение экрана монитора равно или больше 1024 на 768 пикселов, то запускается остальная часть функции, которая выясняет размеры (заданные во внешнем файле стилевых описания CSS свойства) элемента A, ширину и высоту видимой области окна браузера. С использованием полученных чисел вычисляется на каком расстоянии от левого и верхнего края видимой области окна браузера должен находиться левый и верхний край элемента A, что бы элемент A был выровнен по центру, по ширине и по высоте. В смысле чисел и CSS, это когда CSS свойство "left" элемента A равно половине разницы между шириной видимой области окна браузера и шириной элемент A, а CSS свойство "top" элемента A равно половине разницы между высотой видимой области окна браузера и высотой элемент A.

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

Второй случай

Условие: если разрешение экрана монитора равно или больше 1024 на 768 пикселов и если курсор мыши наводится на ссылку в элементе A, то тогда выровнять содержимое страницы по ширине и высоте

Создается элемент A с указанными в явном виде шириной и высотой. В элементе A ссылка с обработчиком событий onMouseOver с соответствующим скриптом. Определяется разрешение экрана монитора - некое заданное значение которого будет служить условием, при котором будет срабатывать скрипт, например - 1024x768. При наведении курсора мыши на ссылку, если разрешение экрана монитора равно или больше 1024 на 768 пикселов, срабатывает скрипт, который определяет размеры (заданные во внешнем файле стилевых описания CSS свойства) элемента A, ширину и высоту видимой области окна браузера. С помощью полученных чисел вычисляется на каком расстоянии от левого и верхнего края видимой области окна браузера должен находиться левый и верхний край элемента A, что бы элемент A был выровнен по центру, по ширине и по высоте. В смысле чисел и CSS, это когда CSS свойство "left" элемента A равно половине разницы между шириной видимой области окна браузера и шириной элемент A, а CSS свойство "top" элемента A равно половине разницы между высотой видимой области окна браузера и высотой элемент A.

Поскольку пользователь может изменить размер окна браузера после того, как страница уже загружена, то как и в первом случае отслеживаются изменения размеров окна браузера. И при каждом изменении, функция, которая выравнивает элемент A по центру, по ширине и по высоте, запускается по новой и заново выравнивает элемент A по центру, по ширине и по высоте при новых размерах видимой области окна браузера.


[ 1 ]

В принципе, работает начиная и с Opera 7.5, но с ошибками на некоторое количество пикселов.

[ 2 ]

В принципе, работает начиная и с Opera 7.5, но с ошибками на некоторое количество пикселов.


Aliosque subditos et thema

 

Position: absolute по центру

 

Горизонтальное выравнивание абсолютно позиционированного элемента по центру с помощью CSS. Пример: HTML / XHTML. Код: <div class="example"> <img src="image.jpg" alt="Image" /> </div> CSS. Код: .example {position: relative; left: 0px; top: 0px; height: 90px; width: 100%; float: left; padding: 10px; border: 1px #ccc solid; background: #fafafa; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;} .example img {position: absolute; left: 0px; right: 0px; margin: 0px auto; width: 68px;} В примере по центру выравнивается абсолютно позиционированный элемент img, но вообще данный способ горизонтального выравнивания по центру работает и с другими как строчными, так и блочными абсолютно позиционированными элементами. Ширина абсолютно позиционированного элемента так же может быть в процентах или в других единицах измерения. CSS свойства контейнера (в примере .example), внутри которого находится выравниваемый по центру элемент, могут быть самые разные, выравнивание по центру создается с помощью стилей, непосредственно относящихся к элементу: .example img {position: absolute; left: 0px; right: 0px; margin: 0px auto;}. [ 1 ] А так же в Netscape 8.01+, Mozilla 1.5+. [ 2 ] А так же в Netscape 8.01+, Mozilla 1.5+.

Lynx. Извлечение данных из веб-страниц

 

Помимо просмотра / отображения веб-страниц, Lynx может выводить форматированный текст содержания веб-документа или его HTML источник на стандартный вывод. И это затем может быть обработано с помощью некоторых инструментов, имеющихся в Linux, таких как gawk, Perl, sed, grep, и т.д. Некоторые примеры: Работа с внешними ссылками Подсчитать количество внешних ссылок Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http:", перенаправляет результат далее, опять для grep, который выбирает из них строки не начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внешние ссылки веб-страницы), wc подсчитывает число извлеченных внешних ссылок и отображает его: lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -o "http:.*" | grep -E -v "http://compmiscellanea.com|http://www.compmiscellanea.com" | wc -l Найти внешние ссылки и сохранить их в файл Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http:", перенаправляет результат далее, опять для grep, который выбирает из них строки не начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внешние ссылки веб-страницы) и сохраняет их в файл: lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -o "http:.*" | grep -E -v "http://compmiscellanea.com|http://www.compmiscellanea.com" > file.txt Найти внешние ссылки, опустить повторяющиеся записи и сохранить результат в файл Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http:", перенаправляет результат далее, опять для grep, который выбирает из них строки не начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внешние ссылки веб-страницы), sort сортирует их, а uniq удаляет повторяющиеся записи. Результат сохраняется в файл: lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -o "http:.*" | grep -E -v "http://compmiscellanea.com|http://www.compmiscellanea.com" | sort | uniq > file.txt Работа с внутренними ссылками Подсчитать количество внутренних ссылок Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внутренние ссылки), wc подсчитывает число извлеченных внутренних ссылок и отображает его: lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -E -o "http://compmiscellanea.com.*|http://www.compmiscellanea.com.*" | wc -l Найти внутренние ссылки и сохранить их в файл Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внутренние ссылки) и сохраняет их в файл: lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -E -o "http://compmiscellanea.com.*|http://www.compmiscellanea.com.*" > file.txt Найти внутренние ссылки, опустить повторяющиеся записи и сохранить результат в файл Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внутренние ссылки), sort сортирует их, а uniq удаляет повторяющиеся записи.