Щебетать Бутстрап-жидкость-контейнер
Я использую twitter bootstrap для разработки приложения. 2. Одна боковая панель и основное содержание. Ниже приведен макет.
<div class="container-fluid">
<div class="row-fluid">
<div class="span3 target">
<!--Sidebar content-->
</div>
<div class="span9 ">
<i class="icon-chevron-left toggles"></i>
<!--Body content-->
</div>
</div>
</div>
При нажатии ссылки внутри содержимого я хочу скрыть боковую панель и содержимое, чтобы охватить всю страницу. В настоящее время мне удалось это сделать,
$(document).ready(function(){
$(window).resize(function () { plot(); });
$('.toggles').click(function() {
$('.target').toggle('fast', function() {
$('.contents').toggleClass('span12'),
$('.contents').toggleClass('span9'),
$('.toggles').toggleClass('icon-chevron-right'),
});
});
});
Но я вижу границу в левой части после скрытия span3. Это необходимо удалить. Также в этом методе скрытия, при первом нажатии span3 hides и span9 изменяется на span12. Это как-то хорошо работает. Но при втором щелчке span3 показывает сначала, а затем только контент span12 уменьшается до span9. Из-за этого контента скачок вниз до него уменьшается до span9. Я хочу это исправить. При втором щелчке, span12 до 9 сначала, а затем на боковой панели... что-то вроде этого.
Я видел много сообщений, похожих на это, в которых вместо "spanXX" используются классы "content" и "sidebar". Но это не работает в моем случае. Не знаю почему.
Помогите мне пожалуйста.
Ответы
Ответ 1
Ваш span9
div сбрасывается из-за анимации эффекта переключения, добавляемого jQuery, он анимирует как ширину, так и высоту, поэтому ваш контент, который находится вокруг div, который переключается, становится толчком вниз, когда анимация идет. Вы можете преодолеть это, ускорив процесс анимации до чего-то вроде 100
миллисекунды или абсолютно позиционируя боковую панель. А что касается вопроса о марже, который из-за самого bootstrap.css
, в строке 222 мы имеем следующее:
.row-fluid > [class*="span"]:first-child {
margin-left: 0;
}
Атрибуты псевдо-элемента first-child
margin:0
для первого элемента, который в этом случае является боковой панелью, которая переключается, поэтому, когда боковая панель скрыта, второй тег span
(контент div) t наследует это свойство и остается с по умолчанию margin
, примененным к тегу span
, например
.row-fluid > [class*="span"] {
float: left;
margin-left: 2.127659574%;
}
Вы можете решить эту проблему с помощью jQuery.
Вот несколько демо, которые я сделал:
Обновлен скрипт с исправлением проблемы, который был обнаружен комментатором, которого я не заметил, теперь он работает нормально. Добавлен класс .no-sidebar
, который добавляется при переключении, который удаляет margin-left
, созданный бутстрапом, поэтому теперь он отлично работает с отзывчивой таблицей стилей.
http://jsfiddle.net/andresilich/dQ5b7/23/
Ответ 2
Попробуйте выполнить эти два
код
https://github.com/IronSummitMedia/startbootstrap-simple-
Demo
http://ironsummitmedia.github.io/startbootstrap-simple-sidebar
Обновление (добавление еще одного)
код
http://www.bootstrapzero.com/bootstrap-template/facebook
демо
http://www.bootply.com/render/96266