2013-08-26 12 views
118

Jestem początkującym bootstrapem i mam szablon w 100% szeroki, który chcę kodować przy pomocy bootstrap. Pierwsza kolumna zaczyna się w lewym rogu i mam mapę Google rozciąga się po prawej stronie. Pomyślałem, że mogę to zrobić z klasą container-fluid, ale to nie wydaje się już dostępne. Nie mam pojęcia, jak uzyskać ten układ za pomocą programu startowego 3. Używam szablonu Geometry PSD z themeforest, tutaj link, jeśli chcesz zobaczyć układ: http://themeforest.net/item/geometry-design-for-geolocation-social-networkr/4752268100% szerokość Twitter Bootstrap 3 szablon

+5

Można dostosować Bootstrap używać szerokości '@ container - * 'jako 100%. Również ".container-fluid" powraca w wersji 3.1.0. :) – Zlatan

Odpowiedz

219

W przypadku Bootstrap 3, musisz użyć niestandardowego otoki i ustawić jego szerokość na 100%.

.container-full { 
    margin: 0 auto; 
    width: 100%; 
} 

Here jest przykładem pracy na Bootply

Jeśli nie dodać klasę niestandardową, można acheive bardzo szeroki układ (nie 100%) przez owijanie wszystko wewnątrz col-lg-12 (wide layout demo)

Aktualizacja Bootstrap 3.1

Klasa container-fluid powrócił w Bootstrap 3.1, więc to może być wykorzystane do cre zjadł pełny układ szerokość (brak dodatkowych CSS wymagane) ..

Bootstrap 3.1 demo

+11

Musisz być ostrożny. Rząd ma margines -15 pikseli na prawo i lewo. Jest to kompensowane przez pojemnik z wyściółką 15 pikseli. Najlepszym sposobem jest dodanie dopełnienia do pełnego kontenera, a następnie użycie wierszy i kolejek do utworzenia siatki. – rootman

+4

@rootman Używam class = "kontener kontener-full" i to wydaje się działać. – Zuko

+1

Pracuję używając "padding: 0; szerokość: 100%; '' '' – xguox

27

Ta pełna podstawowa struktura 100% układ szerokości w Bootstrap v3.0.0. Nie powinieneś owijać swojej klasy <div class="row"> klasą . Przyczyna container klasa zajmie dużo marginesu, a to nie zapewni ci pełnego ekranu (100% szerokości) układu, w którym bootstrap usunął klasę kontener-fluid z ich wersji mobilnej v3.0.0.

Po prostu zacznij pisać <div class="row"> bez klasy kontenera i jesteś gotowy do pracy z układem szerokości 100%.

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Bootstrap Basic 100% width Structure</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <!-- Bootstrap --> 
    <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> 

<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> 
<!--[if lt IE 9]> 
    <script src="http://getbootstrap.com/assets/js/html5shiv.js"></script> 
    <script src="http://getbootstrap.com/assets/js/respond.min.js"></script> 
<![endif]--> 
<style> 
    .red{ 
     background-color: red; 
    } 
    .green{ 
     background-color: green; 
    } 
</style> 
</head> 
<body> 
    <div class="row"> 
     <div class="col-md-3 red">Test content</div> 
     <div class="col-md-9 green">Another Content</div> 
    </div> 
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
    <script src="//code.jquery.com/jquery.js"></script> 
    <!-- Include all compiled plugins (below), or include individual files as needed --> 
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> 
</body> 
</html> 

Aby zobaczyć wynik przez siebie Stworzyłem bootply. Zobacz tam wyjście na żywo. http://bootply.com/82136 I kompletny podstawowy układ szerokości bootstrap 3 100% stworzyłem istotę. możesz tego użyć. Uzyskaj informacje od here

Odpowiedz mi, jeśli potrzebujesz więcej pomocy. Dzięki.

+0

dziękuję. Nigdy nie przyszło mi to do głowy! ten działa lepiej niż poprzednie rozwiązanie. –

+20

To rozwiązanie dodaje poziomy pasek przewijania w ramce FF z powodu marginesu na .row. Dokumenty do bootstrapu mówią, że .row powinien zawsze być używany wewnątrz kontenera z tego powodu - Ludzie chcący tworzyć w pełni płynne układy (co oznacza, że ​​twoja witryna rozciąga się na całą szerokość obszaru wyświetlania) muszą zawijać zawartość siatki w elemencie zawierającym dopełnienie: 0 15 pikseli; zrównoważyć marżę: 0 -15px; używane na .rows. - http://getbootstrap.com/css/#grid-intro – nealio82

+5

Nealio ma rację. Powinieneś nadal używać kontenera. Zawijam wiersze pełnej szerokości w .container-full z tą deklaracją CSS: '.container-full {padding: 0 15px; } ' – tbeseda

18

Masz rację, używając div.container-fluid i potrzebujesz też dziecka div.row. Następnie zawartość musi zostać umieszczona w środku bez żadnych kolumn siatki. Jeśli spojrzeć na docs można znaleźć ten tekst:

  • Wiersze musi być umieszczane w .container (stałej szerokości) lub .container-płynu (pełnej szerokości) dla prawidłowego wyrównanie i dopełnienie.
  • Użyj rzędów, aby utworzyć poziome grupy kolumn.

nie używając kolumny siatki jest ok jak podano tutaj:

  • Content powinny być umieszczone w kolumnach, a tylko kolumny może być natychmiastowe dzieci wierszy.

i patrząc na this przykład, można przeczytać ten tekst:

pełnej szerokości, pojedynczą kolumnę: brak zajęcia grid są niezbędne dla elementów pełnej szerokości.

Here's żywy przykład przedstawiający niektóre elementy z użyciem poprawnego układu. W ten sposób nie potrzebujesz żadnego niestandardowego CSS ani hackowania.

22

Używając Bootstrap 3.3.5 i .container-fluid, w ten sposób uzyskuję pełną szerokość bez rynien i poziomego przewijania na urządzeniu mobilnym. Zauważ, że .container-fluid został ponownie wprowadzony w wersji 3.1.

Pełna szerokość na telefon/tablet, 1/4 ekranu na pulpicie

<div class="container-fluid"> <!-- Adds 15px left/right padding --> 
    <div class="row"> <!-- Adds -15px left/right margins --> 
    <div class="col-md-4 col-md-offset-4" style="padding-left: 0, padding-right: 0"> <!-- col classes adds 15px padding, so remove the same amount --> 
     <!-- Full-width for mobile --> 
     <!-- 1/4 screen width for desktop --> 
    </div> 
    </div> 
</div> 

Pełna szerokość na wszystkich rozdzielczościach (telefon, stół, pulpit)

<div class="container-fluid"> <!-- Adds 15px left/right padding --> 
    <div class="row"> <!-- Adds -15px left/right margins --> 
    <div> 
     <!-- Full-width content --> 
    </div> 
    </div> 
</div>