960 grid system-вложенные сетки имеют проблему компоновки



Я только начал разрабатывать сайт хобби для себя, и пытаюсь использовать 960 CSS grid system для размещения моих html-элементов на экране.



Я получил основную идею и только что реализовал скелетный сайт здесь, на моем сервере



Пока у меня есть несколько вопросов:



<div class="container_12">
<div class="grid_12">
<div id='top_bar' class='grid_insider'><!-- start of #top_bar -->

<ul id='top_menu' class='grid_5'><!-- start of #top_menu -->
<li>Home</li>
<li>Fake1</li>
<li>Fake2</li>
<li>Fake3</li>
</ul><!-- end of #top_menu -->
<ul id='user_panel' class='grid_2 prefix_4'><!-- start of #user_panel -->

<li>log in</li>
<li>faq</li>
</ul><!-- end of #user_panel -->

</div><!-- end of #top_bar -->
</div>
<div class="clear"></div>
<div id='title_bar' class="grid_12">
<h1 id="logo" align='center'>LOGO, TITLE and SLOGAN all go here!</h1>

</div><!-- end .grid_1 -->
<div class="clear"></div>




Я использую шаблон на основе сетки 12, поэтому общее число " сеток "на каждой" строке " должно быть 12. Однако я могу сделать только два элемента на одной " строке" при этом общее количество сеток складывается до 11, а не 12. Если я изменю класс #user_panel " на "grid_3 prefix4", то это фактически приведет этот элемент к следующей строке, которая все ломает.



Другое дело, что, хотя элементы первого уровня, такие как top_bar_ и title_bar, находятся в правильном положении (вы можете подтвердить это с помощью удобного плагина Firefox gridfox), с точной шириной 940px вложенные сетки не находятся в положениях, которые они должны быть (немного в стороне от проектного положения).



Я новичок в этой системе css grid, есть ли лучший способ управлять элементами гнезда? Я должен сказать, что некоторые из примеров веб-сайтов на 960.gs довольно удивительно видеть :)



Заранее спасибо за любое предложение!



Обновленная Информация



Хорошо, основываясь на ответе ниже, я считаю, что все еще можно использовать цветные границы при отладке вложенных сеток, есть способ adhoc "обмануть":



.grid_insider
{
border : 1px solid red;
margin : -1px; /* this will stop the element from 'expanding' its space */
}
469   2  

2 ответов:

Не уверен, что вы не поняли, но фреймворк предоставляет метод для вложенных элементов.

/* `Grid >> Children (Alpha ~ First, Omega ~ Last)
------------------------------------------------*/

.alpha {
    margin-left: 0;
}

.omega {
    margin-right: 0;
}
Это переопределяет поля, которые они дают всем элементам сетки, таким образом позволяя элементам на стороне упираться в стороны своих контейнеров.

Что вам нужно сделать, так это дать левой строке меню класс alpha, а правой-класс omega. Затем вам придется удалить все границы, которые вы добавили к этим двум элементам и их контейнеру. Это потому что CSS floatS очень точны и сломаются, если вы сделаете элементы больше, чем определенная структура.

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

И очень поздний ответ....

Используйте любой контур для ваших границ

`outline: 1px solid red;`

Или использовать размер коробки

     .gridInsider {
       -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
       box-sizing: border-box;
     }

Comments

    Ничего не найдено.