Jump to content
  • 0

Расстояние между div если внутри список


SoFuWa
 Share

Question

<div>Здесь располагается содержимое нового тега Div</div>

<div>

<ul>

<li style="display:inline">Меню</li>

</ul>

</div>

<div>Здесь располагается содержимое нового тега Div</div>

вот простой код, в этом случае центральный div не прилегает в плотную к остальным, между ними есть расстояние по вертикали когда display:inline , почему?

Edited by SoFuWa
Link to comment
Share on other sites

Recommended Posts

  • 0
да это помогло, а с чего это у них не нулевые по умлочанию

Ну это как бы логическое выделение, более точно не скажу ибо такой информацией не владею... Я когда делаю верстку в большинстве случаев изначально обнуляю у всех элементов margin и padding вот такой строкой:

* {margin:0;padding:0;}

Link to comment
Share on other sites

  • 0

Я тоже против глобального обнуления всех отступов. Доводы скорее эмоциональные, чем логичные.

1. Противоречит здравому смыслу. Отступы в большинстве случаев нужны для создания пустого пространства, которое облегчает чтение и восприятие информации. Возразят, что отступы добавляют потом, прописывая их в CSS. Зачем тогда их прописывать, если они уже есть?

2. Обнуление всех отступов, а затем их повторное добавление в стилях увеличивает объем кода и может привести к возникновению мелких ошибок. Что проще - задать только нужные размеры или задать все размеры?

Link to comment
Share on other sites

  • 0
Не стоит. Это пагубная техника.
Я тоже против глобального обнуления всех отступов. Доводы скорее эмоциональные, чем логичные.

Я думал что я один на этом форуме противник записи *{margin:0;padding:0;}

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

В итоге понял что среди верстальщиков рунета это очень популярная запись, от которой никто не откажется.

Как аргумент "против" могу привести ситуацию:

в дизайне не все элементы могут быть предусмотрены, и если потом на сайте добавят эти элементы, они все слипнутся.

Я сторонник того чтобы они отображались по дефолту.

А как аргумент "за" могу сказать что часто приходится обнулать margin, padding на списках. Вот с этой строкой *{margin:0;padding:0;} на списках можна сэкономить десятки строк кода.

Но опять же, лучше тогда сделать нормальный сброс. Только не Yaho и Eric Meyer, яху вообще глюк ходячий, а сброс Эрика тоже не кросс браузерный. Сейчас не вспомню нюансы, но глюки были точно, особенно если шрифты в em задавать.

Edited by mishka2
Link to comment
Share on other sites

  • 0
А как аргумент "за" могу сказать что часто приходится обнулать margin, padding на списках. Вот с этой строкой *{margin:0;padding:0;} на списках можна сэкономить десятки строк кода.

Это спорный аргумент, никто ведь не отменял запись ul, li, бла-бла {margin:0;padding:0;}. При этом точно знаешь, какие элементы обнулены, а у каких значения по дефолту остались.

Link to comment
Share on other sites

  • 0
s0rr0w, чем же эта техника пагубна?

Я считаю иначе, но я в вёрстке новичок, и очень бы хотелось опытного товарища послушать.

Это все банальная логика.

Возьмем некое свойство A, значение по умолчанию которого равно b.

В нормальном проекте ваш css будет выглядеть вот так

A: b

--

A: 0

A: c

Вопрос, зачем нужен шаг A: 0, если вы все равно будете делать A: c? Чтобы браузеру было больше работы при рендеринге? Так я вам скажу, что ИЕ может серьезно снижать производительность отрисовки при селекторах со звездочкой.

Другими словами, если вы все равно переопределяете значения, зачем их обнулять?

Это спорный аргумент, никто ведь не отменял запись ul, li, бла-бла {margin:0;padding:0;}. При этом точно знаешь, какие элементы обнулены, а у каких значения по дефолту остались.

Влад верно говорит.

Мало того, привычка использовать списки где не попадя приводит к плачевным результатам. Вы сами себе придумываете проблемы, с которыми потом боретесь.

Link to comment
Share on other sites

  • 0

А я не согласен, я поддерживаю обнуление. Только обнулять надо грамотно - не универсальным селектором, а конкретные теги. И даже не обнулять, а задавать дефолтные значения. Но все это справедливо только для больших проектов, а для мелких (хомяк, тизер, промо и т.п.) сойдет и *.

По умолчанию отступы у элементов точно оставлять нельзя имхо.

Link to comment
Share on other sites

  • 0
Ну мне так в разы проще контролировать поведение элементов в разных браузерах. Экономит много времени.

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

Link to comment
Share on other sites

  • 0
По моему проще знать, что они везде по нулям, чем держать в голове у какого элемента они есть а у какого их нет.

Типа очень много элементов, у которых есть отступы? :)

А ну давай перечислим!

Link to comment
Share on other sites

  • 0
Вот о чем я и говорю, целых 7 элементов в голове держать! У меня плохая память - проще обнулить все к чертовой бабушке и переназначить по необходимости.

Зачем обнулять, если и так будут переназначены? В чем ДАО? :)

Это все равно, что перед покраской стен в белый цвет, их сначала красят в черный. Потому что только на черном видно все огрехи окраски.

Link to comment
Share on other sites

  • 0
Зачем обнулять, если и так будут переназначены? В чем ДАО?

Дело в том, что у всех элементов отступы разные и с разных сторон.

<ul> - слева/сверху/снизу

<p> - сверху/снизу

<blockquote> - слева/справа

Нафиг мне помнить, где у кого отступы? Может мне понадобится только с одной стороны отступ... Не хочу я запоминать, что еще и слева/сверху/снизу надо бы обнулить.

Link to comment
Share on other sites

  • 0
Нафиг мне помнить, где у кого отступы? Может мне понадобится только с одной стороны отступ... Не хочу я запоминать, что еще и слева/сверху/снизу надо бы обнулить.

Сколько в твоем коде определений, которые относятся только к одной стороне? Например margin-left. Посчитай процентное соотношение конкретных элементов к общим декларациям, таким как margin.

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