Являются ли элементы div необходимыми для большинства элементов, поскольку существует абсолютное позиционирование?

0

Поэтому в последние несколько месяцев я научился веб-дизайну. Конечно, есть еще много уроков, но я чувствую, что у меня есть твердое понимание того, что я знаю до сих пор. Одна вещь, о которой я сейчас интересовался, - это то, насколько необходим div, особенно когда я в конечном итоге использую абсолютное позиционирование. Например, недавно я написал следующий код:

<section id="header-section">
        <header class="main-header">
            <h1>The Voice of Jeremy Donahue</h1>
                <nav class="main-navigation">
                    <ul>
                        <li><a href="http://www.thevoiceofjeremydonahue.com/about">About</a></li>
                        <li><a href="http://www.thevoiceofjeremydonahue.com/contact">Contact</a></li>
                    </ul>
                </nav>
        </header>
</section> 

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

Тем не менее, много раз я заканчиваю позиционирование своих элементов, используя свойство {position: absolute} и полностью игнорируя содержащий div. Поэтому я думаю, что если у меня есть H1, и я планирую позиционировать его, как я описал, то почему бы даже поместить его в div?, и то же самое для любого другого элемента, который я ставил бы таким образом. Почему бы им не стать свободными элементами? Мне интересно, если это по-прежнему хорошо по семантическим причинам, или если это просто считается лучшей практикой, чтобы группировать вещи таким образом. Я надеюсь, что мне было ясно, как я описал это.

Чтобы быть настолько описательным, насколько я могу, вот css, который я применил до сих пор для этой конкретной итерации этой страницы. Это не так близко к завершению (очевидно), но вы можете увидеть пару абсолютных позиций, которые я применил к этому разделу заголовка.

/*global*/

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    background: rgb(234, 234, 234);
}

body, .container {
    min-height: 100%;
}

.container {
    background: white;
    margin-top: 6.25em;
}

header {
    position: absolute;
    top: 0.625rem;
    background: transparent;
    text-align: center;

}

ul {
    list-style-type: none;
}

a {
    text-decoration: none;
}

/*typography*/

h1 {
    font-family: 'Parisienne', cursive;
    font-size: 2.5rem;
    color: #2713e7;
    position: relative;
    top: 1.25rem;

}

/*lists*/

.main-navigation {
    position: relative;
    top: 2.5rem;
}

.main-navigation li  {
    position: absolute;
    top: 10px;
    display: inline-block;
    margin-right: 10%;
    font-family: 'Atomic Age', cursive;
    font-size: 1.5625rem;

}

/*borders*/

.main-navigation {
    border: 2px solid black;
}

.main-navigation li  {
    display: inline-block;
    border: 2px solid black;


}
  • 0
    Вопрос в том, почему вы используете position: absolute а не обычные методы веб-верстки, которые обычно не нужны, за исключением нескольких особых обстоятельств. Попробуйте создать адаптивный дизайн с position: absolute например, position: absolute .
  • 0
    Не могли бы вы немного лучше понять, что вы подразумеваете под обычными методами веб-верстки. Я знаю, как сделать адаптивный дизайн. Я все еще неопытный, и поэтому я ищу совет. Ваш комментарий немного расплывчатый и ничего не проясняет.
Показать ещё 2 комментария
Теги:
absolute
positioning

1 ответ

1
Лучший ответ

1. Таким образом, в последние несколько месяцев я научил себя веб-дизайну.

Отличная работа! Так держать.

2. Однако, много раз я заканчиваю позиционирование своих элементов, используя свойство {position: absolute} и полностью игнорируя содержащий div.

Нехорошо, вы не хотите каждый раз размещать свой элемент с холста. Вы? position: absolute будет позиционировать элемент на основе ближайшего относительно расположенного предка, если у него его нет, вам придется разместить его в соответствии с холстом.

3 Итак, я думаю, что если у меня есть H1, и я планирую позиционировать его, как я описал, тогда зачем даже помещать его в div?, и то же самое для любого другого элемента, который я ставил бы таким образом. Почему бы им не стать свободными элементами?

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

  • 0
    Хорошо, так что {position: absolute} следует использовать с осторожностью. Изначально использование такого метода казалось полной свободой - я мог разместить что угодно в любом месте. Однако тогда это начало поднимать вышеупомянутые вопросы. Так я должен предположить, что вместо этого я должен преимущественно позиционировать свои элементы, используя {position :lative}?
  • 0
    Вот проверить эту статью. Это поможет вам понять, что я имею в виду. Css-tricks.com/absolute-positioning-inside-relative-positioning также ознакомьтесь с этой статьей learn.shayhowe.com/html-css/box-model.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню