Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопросы по CSS/HTML

32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Не нашёл тему с вопросами по сабжу и решил создать сам.

Вот прошёл «курс» обучения по CSS/HTML от W3C школы, попытался реализовать свою идею и подручных материалов и в процессе появилс\ вопрос о позиционировании. Мануалы не помогли, возможно живой человек объяснит мне подробнее...
Делал в CSS позиционирование при помощи absolute, в принципе выровнял всё нормально, по своему рабочему монитору (1280х1024). Пришёл домой, открыл страничку на домашнем мониторе (1680х1050) а объекты не по центру, где-то больше символов и т.д. Пытался поискать в интернете, но во всех подсказках путаюсь или что-то не выходит. Так вот, можно ли как-то отцентрировать какой либо контент по центру, а не задав ему определённое местоположение? Чтобы на любом разрешении монитора контент был всегда по центру.
 
Код:
p.position_content {
    position: absolute;
    left: 500px;
    top: 400px;
    text-shadow: 0px 1px 0px #FFFFFF;
}
278
25 января 2011 года
Alexander92
1.1K / / 04.08.2008
 
Код:
p.position_content {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 300px; // например
  height: 400px; // опять же, например
  margin-left: -150px; // width / 2
  margin-top: -200px; // width / 2
}


Возможно, существуют извращенные браузеры, где это не работает, но везде, где я тестировал, приведенный код прекрасно отрабатывает. Если нужно позиционировать динамически - меняйте соответствующие свойства через JS.
32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
О! Огромное спасибо. На рабочем мониторе нормально отображается, приду домой проверю на своём мониторе. :)

Позиционировать динамически — под каждый браузер своя позиция?
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
2Alexander толкьо position:relative

а если нужно выравнять только горизонталь, то для блоковых елементов достаточно:
 
Код:
margin-left:auto;
margin-right:auto;


а вобще пользуйтесь гуглом. вот первая же ссылка
http://www.yanajy.com/sdelay-sam/horisontal-and-vertical-align-middle-for-div-with-css.html
278
25 января 2011 года
Alexander92
1.1K / / 04.08.2008
Clubberry, что вы имеете в виду? Я имел в виду следующее:

 
Код:
var p = document.getElementById('your_element');
 p.style.position = 'absolute';
 p.style.width = '300px';
 p.style.height = '400px';
 p.style.left = '50%';
 p.style.top = '50%';
 p.style.marginLeft = '-150px';
 p.style.marginTop = '-200px';


Lone Wolf, почему relative? Элемент же нужно сдвинуть элемент не относительно текущего положения, а относительно верхней левой точки экрана. Плюс только что проверил "на опыте" :) - там действительно нужен absolute.
32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
@Lone Wolf, у меня на рабочем месте нет доступа в интернет. Только на некоторые сайты.
244
25 января 2011 года
UAS
2.0K / / 19.07.2006
Зачем юзать position и т.д.?
Достаточно просто margin: auto - и будет требуемый блок выровнен по центру. Без всяких left, top и т.д.
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: UAS
Зачем юзать position и т.д.?
Достаточно просто margin: auto - и будет требуемый блок выровнен по центру. Без всяких left, top и т.д.



Вертикально не будет

Цитата: Alexander92


Lone Wolf, почему relative? Элемент же нужно сдвинуть элемент не относительно текущего положения, а относительно верхней левой точки экрана. Плюс только что проверил "на опыте" :) - там действительно нужен absolute.



Ну в даном случае да. но вот в общем?

32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Цитата: UAS
Зачем юзать position и т.д.?
Достаточно просто margin: auto - и будет требуемый блок выровнен по центру. Без всяких left, top и т.д.



Т.е. если будет просто:

 
Код:
p.position_content {
margin: auto;
}

То контент без всяких проблем отобразиться по центру?
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: Clubberry
Т.е. если будет просто:
 
Код:
p.position_content {
margin: auto;
}

То контент без всяких проблем отобразиться по центру?



данный p будет поцентру - горизонтально

32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Почему-то не срабатывает.
 
Код:
p.text {
    margin-left: auto;
    margin-right: auto;
}


Помогает только вариант Alexander92, но слишком много кода, а хотелось бы поменьше мороки. :)
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: Clubberry
Почему-то не срабатывает.
 
Код:
p.text {
    margin-left: auto;
    margin-right: auto;
}


Помогает только вариант Alexander92, но слишком много кода, а хотелось бы поменьше мороки. :)



полный код... вместе с html в студию

32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Было бы что давать в студию))

HTML:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"/>
    <head>
        <meta name="author" content="mr. text"/>
        <meta name="description" content="text"/>
        <meta name="keywords" content="text, text, text"/> 
        <link rel="stylesheet" href="css/style.css"/>

        <title>text</title>
    </head>

    <body>
<p>TEXT TEXT TEXT</p>
    </body>
</html>


CSS:
 
Код:
p {
    margin-left: auto;
    margin-right: auto;
}
32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
кстати, а как сделать точечное или прерывающееся подчёркивание? типа как азбука морзе :D

...
---
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
p по дефолту имеет ширину 100%. поэтому сцентрировать елмент не получится.. так-ак некуда его центрировать
Либо задай ширину, либо для центрирование текста внутри p используй text-align:center
32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Только что попробовал отцентрировать этим методом картинку. Результат нулевой.

Про центрирование текста я знаю. :) Думал можно таким способом отцентрировать.
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
Поставь себе на лису аддон firebug. Очь удобно будет.
32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Хорошо, спасибо.

Так а что на счёт подчёркивания?
274
25 января 2011 года
Lone Wolf
1.3K / / 26.11.2006
использывать border-bottom.
32K
25 января 2011 года
Clubberry
186 / / 19.01.2011
Спасибо.
366
26 января 2011 года
int
668 / / 30.03.2005
Цитата:
Только что попробовал отцентрировать этим методом картинку. Результат нулевой.

Картинке бы display:block и ширину задать.

32K
26 января 2011 года
Clubberry
186 / / 19.01.2011
А как сделать чтобы изображение растягивалось автоматически по ширине и высоте разрешения?
244
26 января 2011 года
UAS
2.0K / / 19.07.2006
Вам здесь что, справочник что ли? КО намекает, что есть такие параметры width и height, о которых здесь уже говорилось, их и юзайте.
И скачайте справочники по css, или листайте тот же w3c
32K
26 января 2011 года
Clubberry
186 / / 19.01.2011
к чему тогда форум? чтобы задавать вопросы.

в w3c об этом не говорится, начнём с этого. ко, блин.

width и height определяется как для одного разрешения, к примеру 1680х1050, а если разрешение будет 1024х768, то часть изображения просто пропадёт за рамками монитора, а мне надо, чтобы всё изображение было видно.
244
26 января 2011 года
UAS
2.0K / / 19.07.2006
Форум необходим для того, чтобы задавать какие-то корректные вопросы, которые действительно сложны для понимания или поиска ошибок. У вас же вопросы из разряда "а какой параметр отвечает за это?".
Если не полениться и набрать в гугле "справочник CSS", то можно найти 100500 материалов.

Если бы Вы также не поленились полистать инет, то знали бы, что width и height можно задавать и в пикселях, и в процентах. Проценты и используйте.
32K
26 января 2011 года
Clubberry
186 / / 19.01.2011
Хех, я удивляюсь, очень сильно удивляюсь. Ведь можно было сразу сказать об этом и не начить срачь. Спасибо, помогло.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог