2012-08-01 10 views
33

Ich benutze Foundation 3, um eine responsive Website zu erstellen, aber ich möchte die Footer und Navigation Hintergrundbreite haben, um die gesamte Breite zu besetzen? Ich habe meine Zeilen alszumb foundation ist es möglich, volle Zeilenbreite zu haben

class="row navigation" 
class="row footer" 

benannt Ich habe versucht, wie das zu beheben, aber ich habe keine Optionen. Ich gehe davon aus, dass es sich um eine kleine Korrektur in der Datei foundation.css handelt, aber im Moment ist es ein bisschen zu überwältigend, da ich neu bin.

Alle Poiinters sehr geschätzt.

+0

es heraus somehow.thanks –

Antwort

8

Ich stimme überhaupt nicht mit der Antwort. Sie sollten nicht verwenden müssen! Important

Bitte lesen Sie meinen Artikel und Demo auf http://edcharbeneau.github.com/FoundationSinglePageRWD/

sollten Sie in der Lage sein, zu bekommen, was Sie von dort brauchen. Die Demo ist für 2.2, ist aber sehr ähnlich wie v3.

12

Wenn Sie das Zurb Foundation Framework verwenden, entfernen Sie einfach die row Klasse und wickeln Sie das Element in eine Klasse container mit einer Breite von 100%. Jetzt wollen Sie wahrscheinlich das Zeug zum Zentrum, verwenden Klasse centered wie folgt aus:

<div class="container navigation"> 
    <div class="centered"> 
     Some navigation stuff 
    </div> 
</div> 
+0

und was tut Klasse .centered? Sie sollten noch mehr zu Ihrer Antwort hinzufügen. – Mark

+0

.centered ist in die Zurb-Foundation integriert - es gibt einen Abschnitt in der Dokumentation zu diesem Thema, http://foundation.zurb.com/docs/grid.php Es gibt viele schnelle Positionierung Elemente, die sehr nützlich sind. – cosmicdot

67

ich in das gleiche Problem lief gestern. Der Trick besteht darin, dass Sie für übergreifende Blöcke mit voller Breite nur die Zeilen-/Spaltenstruktur außer Acht lassen, da in Zeile/Spalte immer die Standardauffüllung angewendet wird. Behalten Sie Ihre Fußzeilen und Header auf eigene Faust und verwenden Sie die Zeile/Spalte in ihnen.

<header> 
    This will span the full width of the page 
</header> 
<div class="row"> 
    <div class="twelve columns"> 
     This text will flow within all typical padding and margins 
    </div> 
</div> 
<footer> 
    This will span the full width of the page 
    <div class="row"> 
     <div class="twelve columns"> 
      This text will flow within all typical padding and margins 
     </div> 
    </div> 
</footer> 
+1

Setzen Sie Ihren Code einfach außerhalb von div class = "row", thks! –

+0

Ich stimme dieser Antwort zu, aber Sie können jedes div verwenden, um es zu umbrechen. Es muss kein HTML5-Element wie Fußzeile sein. Es muss nur vollständig außerhalb einer verschachtelten Gitterstruktur liegen. Oft müssen Sie Ränder und Abstände hinzufügen, damit sie visuell mit anderen Elementen auf der Seite "zusammenpassen". Ich habe auch einen [Code-Stift erstellt, um das obige Konzept zu veranschaulichen] (http: // codepen.io/jamesstoneco/stift/jErXyY). – JAMESSTONEco

0

Ich bin nicht sicher, ob ich etwas fehlt, aber ich hatte ein .row div für die .centered arbeiten hinzuzufügen. Ich kann immer noch die .header stylen, um in diesem Fall eine volle Breite Hintergrund zu haben, aber die .container Methode hat nicht für mich funktioniert.

<header class="header"> 
    <div class="row"> 
    <div class="centered"> 
     Logo and stuff 
    </div> 
    </div> 

    <div class="row"> 
    Some navigation stuff 
    </div> 
</header> 
0

Wenn Sie es nicht die „Reihe“ Klasse geben und Spalten setzen im Inneren auf einer Breite von 100% arbeitet

1

Sie wirklich wollen, würde die Zeile Klasse zu halten, sonst verlieren Sie eine Menge der Leistung des Grid-Systems. Warum ändern Sie nicht die Einstellung für $ rowWidth von 1000 (Standard) auf 100%. Dies kann in der Datei foundation_and_overrides.scss gefunden werden.

65

Was ich getan habe, ist eine benutzerdefinierte Klasse hinzufügen, so dass ich es mit .row ketten und überschreiben kann die maximale Breite Einstellung.

<div class="row full-width"></div>

.row.full-width { 
    width: 100%; 
    max-width: 100%; 
} 

Ich habe Breite in hier zu Basen zu bedecken, aber es ist bereits in foundation.css erklärt, so dass Sie es einfach weglassen.

+1

Dies ist die Methode, die ich verwende. Ich denke, es ist das einfachste und geht mit der semantischen Philosophie von Foundation einher. –

+0

Dies ist auch die Route, die ich genommen habe. Wenn es eine Kopf- oder Fußzeile in voller Breite ist, würde ich die Zeile einfach in die Kopf-/Fußzeile einfügen. Wenn eine Zeile mit voller Breite üblich ist, ist dies die beste Route. – alexbooots

+0

Bessere Antwort für das erwartete Verhalten – iwalktheline

4

Use "Abschnitt", wie in:

<section> 
    <div class="row"> 
    <div class="small-12 columns"> 
    </div> 
    </div> 
</section> 

Dann eine ID zu dem Abschnitt zuweisen und dass für Ihren Hintergrund verwenden.

-5

ja, genau wie diese verwenden:

<div class="large-12 columns"> 

    <h2>Header Twelve Columns (this will have full width of the BROWSER <---->></h2> 

    </div> 

+0

das funktioniert nicht – 32423hjh32423

2

einfach überschreiben die max-width Eigenschaft als max-width: initial; zum Beispiel

.fullWidth { 
     width: 100%; 
     margin-left: auto; 
     margin-right: auto; 
     max-width: initial; 
    } 

<div class="row fullWidth"> </div> 

dies funktioniert für mich :)

3

Ich weiß, dass es bereits viele Antworten gibt, aber ich denke, ich habe etwas Neues in diesem Thema hinzuzufügen, wenn jemand Foundation 5 verwendet und stolperte über diese Frage (wie ich).

Da Foundation REM-Einheiten verwendet, wäre es am besten, die Klasse .row zu ändern, indem Sie sie verwenden und zusätzliche Klassen hinzufügen, sodass Sie nur Zeilen mit voller Breite auswählen können. Zum Beispiel durch .full-Klasse:

.row.full { 
    max-width: 80rem; /* about 90rem should give you almost full screen width */ 
} 

können Sie sehen, dass es so verwendet wird, auch in der Dokumentation Seite von ZURB Foundation (sie verändert .row Klasse, obwohl): http://foundation.zurb.com/docs/ (nur Seite Quellcode schauen in)

2

Dies in Bezug auf die Stiftung 5. Keine der Antworten, die bisher gegeben wurden, liefern Kante an Kante, volle Breite. Das liegt daran, dass das innere .columns Padding hinzufügt.

Für einen echten Edge-to-Edge-Content mit voller Breite fügen Sie diesen zu Ihrem CSS hinzu.

.row.full { width: 100%; max-width: 100%; } 
.row.full>.column:first-child, 
.row.full>.columns:first-child { padding-left: 0; } 
.row.full>.column:last-child, 
.row.full>.columns:last-child { padding-right: 0; } 

Fügen Sie einfach .full Klasse zu einem .row Sie wollen volle Breite erweitern.

<div class="row full"> 
    <div class="medium-6 column">This column touches Left edge.</div> 
    <div class="medium-6 column">This column touches Right edge.</div> 
</div> 
0

Wenn Sie sass verwenden, ist dies ein besserer Weg:

<div class="row full-width"></div> 

.row{ 
    &.full-width{ 
     width: 100%; 
     max-width: 100%!important; //might be needded depending on your settings 
     &>.column:first-child, 
     &>.columns:first-child{ 
      padding-left: 0; 
     } 
     &>.column:last-child, 
     &>.columns:last-child{ 
      padding-right: 0; 
     } 
    } 
} 
Verwandte Themen