Jump to content

Устойчивый HTML + CSS


s0rr0w
 Share

Recommended Posts

Текст мелковат как-то...

Больше проблем нет?

UPD: Что говорит нам парадигма БЭМ? А говорит она нам, что есть неделимые Блоки, в которые входят Элементы, возможно, с Модификаторами. Так вот я считаю, что если ты вставил в блок не элемент, а что-то еще, то ты сам себе злобный Буратино... Иначе (если учитывать вообще все случаи) CSS будет выглядет примерно так:


.block-1, .block-1 table, .block-1 th, .block-1 td, .block-1 blockquote, .block-1 ul, .block-1 li, .block-1 ol, ... и т.п. {
селектор: значение;
}

.block-2, .block-2 table, .block-2 th, .block-2 td, .block-2 blockquote, .block-2 ul, .block-2 li, .block-2 ol, ... и т.п. {
селектор: значение;
}

...

.block-n, .block-n table, .block-n th, .block-n td, .block-n blockquote, .block-n ul, .block-n li, .block-n ol, ... и т.п. {
селектор: значение;
}

Если я не прав то объясни в чем?

Link to comment
Share on other sites

Я правильно понимаю что проблема в этом блоке

т.е. нет отступа нижнего у тега <p>?

Да

Хм :blink: ... что то никак не получается реализовать (точнее не получается реализовать именно все возможные варианты одновременно).

вот наработки http://jsfiddle.net/LLpnM/ в данном варианте работает либо при последнем <p> либо при первом. В зависимости от очередности правил в css

Если кто нибудь уже нашел решение и это вообще возможно - подскажите

Link to comment
Share on other sites

UPD: Что говорит нам парадигма БЭМ? А говорит она нам, что есть неделимые Блоки, в которые входят Элементы, возможно, с Модификаторами. Так вот я считаю, что если ты вставил в блок не элемент, а что-то еще, то ты сам себе злобный Буратино... Иначе (если учитывать вообще все случаи) CSS будет выглядет примерно так:

Если я не прав то объясни в чем?

Извини, надо было сразу сказать, что БЭМ.

Link to comment
Share on other sites

Если кто нибудь уже нашел решение и это вообще возможно - подскажите

Я знаю и те, кто были на встрече тоже знают.

А это плохо или что? Ну и кагбэ .b-что-то__что-то намекает :)

Это не плохо и не хорошо, это просто описывается в требованиях к организации кода. Я не сильно разбирался с БЭМ, поэтому про невозможность записывания инлайн-текста в блоки не знал.

Link to comment
Share on other sites

Если кто нибудь уже нашел решение и это вообще возможно - подскажите

Я знаю и те, кто были на встрече тоже знают.

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

Я вот до сих пор не смог придумать как это можно реализовать (именно для всех вариантов одновременно).

Edited by Burevestnik
Link to comment
Share on other sites

Теперь мое решение

http://jsfiddle.net/Q6H4K/

Что в нем особенного?

1. Я добавил "лишний" контейнер и перестал бороться с отступами у последнего или первого элемента. Элементы имеют отступы по умолчанию, за исключением h2. Инлайн текст не требует отдельных хаков.

2. Отсутствие поддержки :not() особо не скажется на визуальном форматировании.

3. Поток контента контроллируется по желанию, совершенно отдельно от общей обвязки.

Проблема с ::before, но это чистейшей воды выпендреж, там можно заменить все на фоновую картинку и min-height.

А решение лежит под носом, нужно всего лишь добавить один лишний контейнер.

  • Like 1
Link to comment
Share on other sites

Теперь мое решение

http://jsfiddle.net/Q6H4K/

Что в нем особенного?

1. Я добавил "лишний" контейнер и перестал бороться с отступами у последнего или первого элемента. Элементы имеют отступы по умолчанию, за исключением h2. Инлайн текст не требует отдельных хаков.

2. Отсутствие поддержки :not() особо не скажется на визуальном форматировании.

3. Поток контента контроллируется по желанию, совершенно отдельно от общей обвязки.

Проблема с ::before, но это чистейшей воды выпендреж, там можно заменить все на фоновую картинку и min-height.

А решение лежит под носом, нужно всего лишь добавить один лишний контейнер.

1) Вот это хрень какая-та вообще:


.subPlate.help:before {
color: #E6E6E6;
content: "?";
float: left;
font: bold 55pt tahoma;
margin-left: -55px;
text-align: center;
width: 70px;
}

И как это прикажешь понимать? А если мне нужно слева засунуть много картинок или вообще убрать колонку? - не пройдено))

2) При сдвиге элемента из контейнера он обрезается - не пройдено

3) Вот этот код должен быть в отдельном блоке. Зачем? Потому что это отдельные статьи.

<h2>Header</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus id purus purus, bibendum gravida mauris. Mauris urna lacus, pellentesque ac suscipit in, aliquet non nulla. Pellentesque vehicula augue at dolor hendrerit gravida commodo turpis tristique. Praesent vitae neque non nulla venenatis pellentesque ac ac odio. Quisque et dolor ultricies ante adipiscing egestas vitae quis metus. Sed sed nibh non dolor tempor pellentesque in eu ipsum. Donec a ipsum ut lorem gravida ullamcorper. </p>

Link to comment
Share on other sites

1) Вот это хрень какая-та вообще:


.subPlate.help:before {
color: #E6E6E6;
content: "?";
float: left;
font: bold 55pt tahoma;
margin-left: -55px;
text-align: center;
width: 70px;
}

И как это прикажешь понимать? А если мне нужно слева засунуть много картинок или вообще убрать колонку? - не пройдено))

То управляй этим отдельно. Там класс .help убираешь, и заменяешь его на все, что душе угодно.

2) При сдвиге элемента из контейнера он обрезается - не пройдено

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

3) Вот этот код должен быть в отдельном блоке. Зачем? Потому что это отдельные статьи.

<h2>Header</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus id purus purus, bibendum gravida mauris. Mauris urna lacus, pellentesque ac suscipit in, aliquet non nulla. Pellentesque vehicula augue at dolor hendrerit gravida commodo turpis tristique. Praesent vitae neque non nulla venenatis pellentesque ac ac odio. Quisque et dolor ultricies ante adipiscing egestas vitae quis metus. Sed sed nibh non dolor tempor pellentesque in eu ipsum. Donec a ipsum ut lorem gravida ullamcorper. </p>

Ну добавь себе все что хочешь, блоки, статьи, таблички, все что угодно. Семантика содержимого .plateContent лежит на совести кодера.

Link to comment
Share on other sites

Я смотрю, ни у кого вопросов даже нет, ни обсуждения. Это значит, что или все всем понятно, или так никто ничего и не понял.

:)

А ты в своих проектах поддерживаешь IE8?

Link to comment
Share on other sites

А ты в своих проектах поддерживаешь IE8?

В старых да, на новой платформе поддержки уже нет

Ну в принципе все понятно: лишний контейнер и все становится ок. Я только третий пункт не догнал, что там с потоком не так было?

Содержимонезависимая сборка. Не нужно постоянно переопределять свойства содержимого, оно само может иметь свои свойства и поведение, которое диктуется самими тегами.

Например, я не переопределял свойства тега <p>, но даже если я это сделаю, поставив {margin: 10px 0px 0px; }, на общую конструкцию это никак не повлияет, а повлияет только на взаимоотношения тега <p> с другими элементами.

Link to comment
Share on other sites

s0rr0w, Саш, а почему-бы не сделать немного иначе. Раз ты один хрен используешь overflow: hidden;, то:

.subPlate - вот с этого блока вообще убрать закругления

.plateBlock - а вот на этот повесить overflow: hidden; ?

Link to comment
Share on other sites

Я смотрю, ни у кого вопросов даже нет, ни обсуждения. Это значит, что или все всем понятно, или так никто ничего и не понял.

:)

Я хочу для себя подытожить тему и для этого буду ориентироваться на твое решение:

Что нужно было сделать (по моему):

1. Соблюдать отступы в самых верхних блоках, какие б изменения не были.

2. Отступы между элементами в блоках, какие б изменения не были.

3. Отступ между абзацем и маргин.

4. Знак вопроса отодвигает контент вправо.

5. Закругленные углы в темно-сером блоке.

Первый пункт ты решил с добавлением .plateContent, и при его в правильном использовании + свойства самих элеменетов, что мы упорно

пытались менять - решили и второй пункт.

Остальные пункты понятны.

Было интересно посмотреть решения всех участников.

Link to comment
Share on other sites

Первый пункт ты решил с добавлением .plateContent, и при его в правильном использовании + свойства самих элеменетов, что мы упорно

пытались менять - решили и второй пункт.

Именно это и привело к "устойчивости" всей конструкции.

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
Reply to this topic...

×   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