Jump to content
  • 0

Что нужно сделать, чтобы мой блок позиционировался сверху-вниз, а не наоборот.


antonbruilo
 Share

Question

Я почти нулевой-начинающий верстальщик. Никогда этим не занимался и за пару дней мало чему научился.

 

Мой HTML:

<!DOCTYPE html><html lang="ru"><head>    <title>Моя страница!</title>    <link rel="stylesheet" href="StyleSheet1.css" /></head><body>    <header class="framing" style="height: 200px;"></header>    <section class="framing inlineblock" style="width:900px; height:600px;"></section>    <aside class="framing inlineblock" style="width: 200px; height: 300px;"></aside>    <footer class="framing " style="width: 1125px; height: 100px; "></footer></body></html>

Мой CSS:

body {    width: 1170px;    margin: 0 auto;    background: #f5f5f5;}.framing { /*Стиль обрамление блоков*/    background-color: #ffffff;    box-shadow: 0 0 10px rgba(0,0,0,0.5);}.inlineblock {    display: inline-block;}section, aside, footer {    margin: 20px 0 0 20px;}

Результат:

image.png

 

Вопрос: Как сделать, чтобы мой блок aside был вверху пространства, а не в низу?

И если не сложно, укажите на корявость стиля написания кода. Сразу хочу писать грамотно и коротко. Существует ли какой разумный паттерн написания HTML + CSS кода. 

Спасибо!

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Уберите из HTML разметки CSS свойства (в атрибутах style) и перенесите их в css файл т.к. по возможности стоит разделять разметку, стили и скрипты. Применение атрибута style оправдано только для очень спецефического/непостоянного контента (например какая ни будь картинка в статье) из соображений что если вам понадобиться ее удалить, то вы просто удалите HTML код относящийся к ней и этого будет достаточно, не нужно будет лезть в css файл и там удалять свойства этой картинки. У вас же стили задаются основным блокам страницы, которые  универсальны (показываются на всех страницах) и неизменчивы (маловероятно что вы будете их в будущем удалять), т.е. рекомендуется все свойства относящиеся к ним держать в css файле.

Link to comment
Share on other sites

  • 0

Уберите из HTML разметки CSS свойства (в атрибутах style) и перенесите их в css файл т.к. по возможности стоит разделять разметку, стили и скрипты. Применение атрибута style оправдано только для очень спецефического/непостоянного контента (например какая ни будь картинка в статье) из соображений что если вам понадобиться ее удалить, то вы просто удалите HTML код относящийся к ней и этого будет достаточно, не нужно будет лезть в css файл и там удалять свойства этой картинки. У вас же стили задаются основным блокам страницы, которые  универсальны (показываются на всех страницах) и неизменчивы (маловероятно что вы будете их в будущем удалять), т.е. рекомендуется все свойства относящиеся к ним держать в css 

 

Это как раз то, что я и хотел услышать. Действительно! Так HTML структура будет иметь более существенную наглядность.

inlini-block для aside вынужденная мера? почему не сделать просто на float'ах? 

 

Использовал inline-block только для того, чтобы поместить элементы в ряд. Float, как я уже понял, делает тоже самое.

В чем разница? И что лучше использовать? Спасибо.

Link to comment
Share on other sites

  • 0

Уберите из HTML разметки CSS свойства (в атрибутах style) и перенесите их в css файл т.к. по возможности стоит разделять разметку, стили и скрипты. Применение атрибута style оправдано только для очень спецефического/непостоянного контента (например какая ни будь картинка в статье) из соображений что если вам понадобиться ее удалить, то вы просто удалите HTML код относящийся к ней и этого будет достаточно, не нужно будет лезть в css файл и там удалять свойства этой картинки. У вас же стили задаются основным блокам страницы, которые  универсальны (показываются на всех страницах) и неизменчивы (маловероятно что вы будете их в будущем удалять), т.е. рекомендуется все свойства относящиеся к ним держать в css файле.

 

Еще один вам вопрос. Предположим ситуация следующая:

                <div class="inlineblock">                    <div>                        <h3 class="inlineblock" style="margin-right: 25px;">Введите Login:</h3>                        <input type="text" />                    </div>                    <div style="margin-top: 10px;">                        <h3 class="inlineblock">Введите Password:</h3>                        <input type="password" />                    </div>                </div>

Мне, для визуального удобства, необходимо сделать margin-right: 25px; для первого h3. Для второго h3 подобное делать необходимо.

Выходит, чтобы описать стиль мне необходимо давать первому h3 идентификатор и писать для него стиль, либо же описать style прямо в теге для данного определенного случая.

Тоже самое касается и <div style="margin-top: 10px;">.

Как поступают в данных ситуациях опытные верстальщики? Нужно идентифицировать и в CSS это описывать? 

Edited by antonbruilo
Link to comment
Share on other sites

  • 0

 

Еще один вам вопрос. Предположим ситуация следующая:

                <div class="inlineblock">                    <div>                        <h3 class="inlineblock" style="margin-right: 25px;">Введите Login:</h3>                        <input type="text" />                    </div>                    <div style="margin-top: 10px;">                        <h3 class="inlineblock">Введите Password:</h3>                        <input type="password" />                    </div>                </div>

Мне, для визуального удобства, необходимо сделать margin-right: 25px; для первого h3. Для второго h3 подобное делать необходимо.

Выходит, чтобы описать стиль мне необходимо давать первому h3 идентификатор и писать для него стиль, либо же описать style прямо в теге для данного определенного случая.

Тоже самое касается и <div style="margin-top: 10px;">.

Как поступают в данных ситуациях опытные верстальщики? Нужно идентифицировать и в CSS это описывать? 

 

 

Я не опытный верстальщик :)

Я так понял margin-right задается чтобы input'ы были визуально "в одной колонке"? в таком случае лучше теги <input> в HTML разметке поставьте перед <h3>, а самим инпутам дайте в стилях свойства:

float: right;margin-left: ___px;  /*(возможно и не понадобится)*/

Тогда сколько бы у вас там полей для ввода ни было, они всегда будут по правому краю выровнены, а текст - по левому.

И используйте какой ни будь reset.css чтобы сбросить стили браузера по умолчанию (например, normalize).

А на счет margin-top - я бы всеравно в css файл выносил.

И еще - вместо тега <h3> тут гораздо лучше бы подошел тег <label>

Edited by ows.nightwolf
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy