2014-11-04 5 views
1

Я хочу изменить представление для своего блога. Все запрограммировано, и я остаюсь с интерфейсом. Я, однако, не понимаю стиль и бутстрап полностью. Я хочу изменить представление так, что есть боковая панель, которая отображает архивы, теги и другие необходимые дополнительные функции блога для улучшения навигации. У меня уже есть панель навигации наверху, но я хочу сделать боковую панель слева или справа на стороне статей и основного текста. Как-то, когда я пытаюсь использовать сетку в файле макета приложения, предполагаемая боковая панель появляется вверху статей или внизу, а не слева или справа. Вот мой главный файл СКС: /customstyling.css.scssКак сделать боковую панель?

@import "bootstrap-sprockets"; 
@import "bootstrap"; 
/* mixins, variables */ 
/* universal */ 
html { 
overflow-y: scroll; 
    } 
body { 
padding-top: 60px; 
    } 
section { 
    overflow: scroll; 
    } 
textarea { 
resize: vertical; 
} 
.center { 
text-align: center; 
h1 { 
margin-bottom: 10px; 
    } 
} 
/* typography */ 

h1, h2, h3, h4, h5, h6 { 
line-height: 1; 
} 
h1 { 
font-size: 3em; 
letter-spacing: -2px; 
margin-bottom: 30px; 
text-align: center; 
    } 
h2 { 
font-size: 1.2em; 
letter-spacing: -1px; 
margin-bottom: 30px; 
text-align: center; 
font-weight: normal; 
color: #777 
    } 
p { 
font-size: 1.1em; 
line-height: 1.7em; 
    } 
    /* 
    footer{ 
    position: fixed ; 
    height: 100px; 
    bottom: 0 ; 
    width: 100% 
    div ul li{ 
display:block; 
vertical-align: top; 
width: 50%; 
float: left; 
} 
} */ 
@mixin box_sizing { 
-moz-box-sizing: border-box; 
-webkit-box-sizing: border-box; 
box-sizing:   border-box; 
    } 
/* miscellaneous */ 
.debug_dump { 
    clear: both; 
    float: left; 
    width: 100%; 
    margin-top: 45px; 
@include box_sizing; 
    } 
/* forms */ 
    input, textarea, select, .uneditable-input { 
    border: 1px solid #bbb; 
    width: 100%; 
    margin-bottom: 15px; 
    @include box_sizing; 
    } 
    input { 
    height: auto !important; 
    } 
    #error_explanation { 
    color: red; 
    ul { 
    color: red; 
    margin: 0 0 30px 0; 
    } 
    } 
.field_with_errors { 
    @extend .has-error; 
.form-control { 
    color: $state-danger-text; 
    } 
    } 

Вот мой макеты/apllication.html.erb файл (я хочу выход <% = выход%> быть слева или справа на боковой панели:

<!DOCTYPE html> 
    <html> 
    <head> 
    <title><%= full_title(yield(:title)) %></title> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 
    <%= render 'layouts/shim' %> 
    </head> 
     <body> 
     <%= render 'layouts/header' %> 
     <div class="container"> 
     <% flash.each do |message_type, message| %> 
     <div class="alert alert-<%= message_type %>"><%= message %></div> 
     <% end %> 
     <%= yield %> 
     <hr> 
     <h6> 
     <% if logged_in? %> 
     <%= "Logged in as #{current_user.email}" %> 
     <%= link_to "Log out", logout_path %> 
     <% else %> 
     <%= link_to "Log in", login_path %> if you are one of our bloggers 
     <% end %> 
      </h6> 
     </div> 
     <%= debug(params) if Rails.env.development? %> 
     </body> 
     </html> 

А вот мои статьи/index.html.erb, один пример <% = выход%> содержание:

<h1>All Articles</h1> 
<ul id="articles"> 
<% @articles.each do |article| %> 
<li> 
    <h4><%= link_to article.title, article_path(article) %></h4> 
<% if article.image.exists? %> 
<%= image_tag article.image.url %> 
<% end %> 
    <p> 
    <%= article.body %></p> 
    <p><small><strong> Date:</strong> <%= article.created_at.to_s %></p></small> 
</li> 
<% end %> 
</ul> 
<h3>Archives </h3> 
<% if @posts.to_a.empty? %> 
<div class="post"> 
<p>No articles found...</p> 
</div> 
<% else %> 
<% current_month = 0 %> 
<% current_year = 0 %> 
<% for article in @posts %> 
<% if (article.created_at.year != current_year) 
current_year = article.created_at.year %> 
<h3 class="archiveyear"><%= article.created_at.year%></h3> 
<% end %> 
<% if (article.created_at.month != current_month || article.created_at.year != current_year) 
current_month = article.created_at.month 
current_year = article.created_at.year %> 
<h4 class="archivemonth"><%= (Date::MONTHNAMES[article.created_at.month]) %></h4> 
<% end %> 
<div class="archivepost"> 
<%= link_to article.title, article_path(article) %> on <%= article.created_at.strftime('%A')%> - <%= article.created_at.strftime('%d') + "th"%> 
</div> 
<% end -%> 
<%end %> 
<hr> 
<h6> 
<% if logged_in? %> 
<%= link_to "Create a New Article", new_article_path, class: "new_article" %> 
<% end %> 
</h6> 

Я попытался с помощью начальной загрузки сетки. -системы с боковой панелью на span3 и содержимым основного тела ниже навигационной панели на span8, но боковая панель и содержимое тела не появлялись бок о бок. Вместо этого один был наверху другого. Что-то не так, либо в моем обычном файле стиля, либо в моих статьях/index.html.erb и других представлениях. Большое спасибо за вашу помощь! Moussa

ответ

0

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

<div class="row"> 
    <div class="col-md-8"> 
    <!-- paste the regular page contents here --> 
    </div> 
    <div class="col-md-3"> 
    <!-- paste the sidebar contents here --> 
    </div> 
</div> 

Так что в вашем случае:

<!DOCTYPE html> 


<html> 
    <head> 
    <title><%= full_title(yield(:title)) %></title> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 
    <%= render 'layouts/shim' %> 
    </head> 
     <body> 
     <%= render 'layouts/header' %> 
     <div class="container"> 
     <% flash.each do |message_type, message| %> 
     <div class="alert alert-<%= message_type %>"><%= message %></div> 
     <% end %> 

     <div class="row"> 
     <div class="col-md-8"> 
      <%= yield %> 
     </div> 
     <div class="col-md-3"> 
      <!-- sidebar content goes here --> 
     </div> 
     </div> 

     <hr> 

     <h6> 
     <% if logged_in? %> 
     <%= "Logged in as #{current_user.email}" %> 
     <%= link_to "Log out", logout_path %> 
     <% else %> 
     <%= link_to "Log in", login_path %> if you are one of our bloggers 
     <% end %> 
     </h6> 
     </div> 
     <%= debug(params) if Rails.env.development? %> 
    </body> 
    </html> 

Ваш отступы смешно, так что извините, если я уезжаю немного.

+0

Я использую gem bootstrap-sass 3.2.0. Думаю, что последняя версия бутстрапа, верно? – codigomonstruo

+0

Большое спасибо NickM. Наверное, я использовал вместо этого только span8 и span3. – codigomonstruo

+0

Рад, что я мог бы помочь. –

Смежные вопросы