Bootstrap, van Twitter

Bootstrap is een toolkit van Twitter die is ontworpen om de ontwikkeling van webapps en sites een kickstart te geven.
Het bevat basis-CSS en HTML voor typografie, formulieren, knoppen, tabellen, rasters, navigatie en meer.

Nerd-waarschuwing: Bootstrap is gebouwd met Less en is ontworpen om out-of-the-gate te werken met moderne browsers in gedachten.

Hotlink de CSS

Kopieer dit fragment naar uw webpagina voor de snelste en gemakkelijkste start.

Gebruik het met minder

Een fan van het gebruik van Less? Geen probleem, kloon gewoon de repo en voeg deze regels toe:

Fork op GitHub

Download, fork, pull, bestandsproblemen en meer met de officiële Bootstrap-repo op Github.

Bootstrap op GitHub »

Geschiedenis

In de begindagen van Twitter gebruikten ingenieurs bijna elke bibliotheek die ze kenden om aan de front-endvereisten te voldoen. Bootstrap begon als een antwoord op de uitdagingen die zich voordeden en de ontwikkeling versnelde snel tijdens de eerste Hackweek van Twitter.

Met de hulp en feedback van veel ingenieurs bij Twitter is Bootstrap aanzienlijk gegroeid en omvat het niet alleen basisstijlen, maar ook elegantere en duurzamere front-end-ontwerppatronen.

Lees meer op dev.twitter.com ›

Browserondersteuning

Bootstrap is getest en ondersteund in de belangrijkste moderne browsers zoals Chrome, Safari, Internet Explorer en Firefox.

Getest en ondersteund in Chrome, Safari, Internet Explorer en Firefox
  • Laatste Safari
  • Nieuwste Google Chrome
  • Firefox 4+
  • Internet Explorer 7+

Wat is inbegrepen

Bootstrap wordt compleet geleverd met gecompileerde CSS, niet-gecompileerde en voorbeeldsjablonen.

  • Alle originele .less bestanden
  • Volledig gecompileerde en verkleinde CSS
  • Volledige documentatie over de stijlgids
  • Voorbeeld paginasjabloon (binnenkort meer)

Standaardraster

Het standaardrastersysteem dat wordt geleverd als onderdeel van Bootstrap is een 940px breed raster met 16 kolommen. Het is een smaak van het populaire 960-rastersysteem, maar zonder de extra marge/opvulling aan de linker- en rechterkant.

Voorbeeld rasteropmaak

Zoals hier wordt getoond, kan een basislay-out worden gemaakt met twee "kolommen", die elk een aantal van de 16 fundamentele kolommen beslaan die we hebben gedefinieerd als onderdeel van ons rastersysteem. Zie de voorbeelden hieronder voor meer variaties.

  1. <div class="row"> class = "rij" >
  2. <div class = "span6 kolommen" >
  3. ...
  4. </div>
  5. <div class = "span10 kolommen" >
  6. ...
  7. </div>
  8. </div>
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
1
4
4
4
4
4
6
6
8
8
5
11
16

Kolommen compenseren

4
8 verschoven 4
4 verschoven 4
4 verschoven 4
5 verschoven 3
5 verschoven 3
10 verschoven 6

Vaste lay-out

Een standaard 940px brede, gecentreerde containerlay-out voor zowat elke site of pagina.

  1. <lichaam>
  2. <div class = "container" >
  3. ...
  4. </div>
  5. </body>

Vloeiende lay-out

Een flexibele vloeiende of vloeibare paginastructuur met min- en max-breedten en een linkerzijbalk. Geweldig voor apps.

  1. <lichaam>
  2. <div class = "containervloeistof" >
  3. <div class = "zijbalk" >
  4. ...
  5. </div>
  6. <div class = "inhoud" >
  7. ...
  8. </div>
  9. </div>
  10. </body>

Koppen en kopiëren

Een standaard typografische hiërarchie voor het structureren van uw webpagina's.

h1. Koptekst 1

h2. Kop 2

h3. Kop 3

h4. Rubriek 4

h5. Kop 5
h6. Kop 6

Voorbeeld paragraaf

Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Voorbeeldkop Heeft een onderkop...

Diversen elementen

Nadruk, adressen en afkortingen gebruiken

<strong> <em> <address> <abbr>

Wanneer te gebruiken

Nadruktags ( <strong>en <em>) moeten worden gebruikt om het extra belang of de nadruk van een woord of zinsdeel ten opzichte van de omringende kopie aan te geven. Gebruik <strong>voor belangrijkheid en <em>voor nadruk op stress .

Nadruk in een alinea

Fusce dapibus , tellus ac cursus commodo , tortor mauris condimentum nibh , ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, een pharetra augue.

Opmerking: het is nog steeds oké om <b>en <i>tags in HTML5 te gebruiken, maar ze hebben geen inherente stijlen meer. <b>is bedoeld om woorden of zinsdelen te markeren zonder extra belang over te brengen, terwijl <i>het meestal is voor stem, technische termen, enz.

Adressen

Het <address>element wordt gebruikt voor contactgegevens voor de naaste voorouder of het hele oeuvre. Hier is hoe het eruit ziet:

Twitter, Inc.
795 Folsom Ave, Suite 600
San Francisco, CA 94107
P: (123) 456-7890

Opmerking: elke regel in een <address>moet eindigen met een regeleinde ( <br />) of worden ingepakt in een tag op blokniveau (bijv. <p>) om de inhoud goed te structureren.

Afkortingen

Gebruik voor afkortingen en acroniemen de <abbr>tag ( <acronym>is verouderd in HTML5 ). Plaats het steno-formulier in de tag en stel een titel in voor de volledige naam.

Blok citaten

<blockquote> <p> <small>

Hoe te citeren?

Om een ​​blockquote op te nemen, wrap <blockquote>around <p>en <small>tags. Gebruik het <small>element om je bron te citeren en je krijgt er een em-streepje &mdash;voor.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

Dr. Julius Hibbert

Lijsten

ongeordend<ul>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem bij massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricieën
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
  • Aenean sit amet erat nunc
  • Eget porttitor lorem

niet gestyled<ul.unstyled>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Integer molestie lorem bij massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricieën
    • Vestibulum laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
  • Aenean sit amet erat nunc
  • Eget porttitor lorem

Besteld<ol>

  1. Lorem ipsum dolor sit amet
  2. Consectetur adipiscing elit
  3. Integer molestie lorem bij massa
  4. Facilisis in pretium nisl aliquet
  5. Nulla volutpat aliquam velit
  6. Faucibus porta lacus fringilla vel
  7. Aenean sit amet erat nunc
  8. Eget porttitor lorem

Beschrijvingdl

Beschrijvingslijsten
Een beschrijvingslijst is perfect voor het definiëren van termen.
Euismod
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
Donec id elit non mi porta gravida bij eget metus.
Malesuada porta
Etiam porta sem malesuada magna mollis euismod.

Tafels bouwen

<table> <thead> <tbody> <tr> <th> <td> <colspan> <caption>

Tafels zijn geweldig - voor veel dingen. Geweldige tabellen hebben echter een beetje opmaakliefde nodig om nuttig, schaalbaar en leesbaar te zijn (op codeniveau). Hier zijn een paar tips om te helpen.

Wikkel uw kolomkoppen altijd <thead>zo in dat de hiërarchie <thead>> <tr>> is <th>.

Net als bij de kolomkoppen, moet alle hoofdtekst van uw tabel in een a worden verpakt, <tbody>zodat uw hiërarchie <tbody>> <tr>> is <td>.

Voorbeeld: Standaard tabelstijlen

Alle tabellen worden automatisch opgemaakt met alleen de essentiële randen om de leesbaarheid te garanderen en de structuur te behouden. Het is niet nodig om extra klassen of attributen toe te voegen.

# Voornaam Achternaam Taal
1 Sommige Een Engels
2 Joe Sixpack Engels
3 Stu Deuk Code
  1. <table class="common-table"> class = "gemeenschappelijke tabel" >
  2. ...
  3. </table>

Voorbeeld: Zebra-gestreept

Geef je tafels een beetje luxe door zebrastrepen toe te voegen - voeg gewoon de .zebra-stripedklasse toe.

# Voornaam Achternaam Taal
1 Sommige Een Engels
2 Joe Sixpack Engels
3 Stu Deuk Code

Opmerking: Zebra-striping is een progressieve verbetering die niet beschikbaar is voor oudere browsers zoals IE8 en lager.

  1. <table class="common-table zebra-striped"> class = "gewone tafel zebra-gestreept" >
  2. ...
  3. </table>

Voorbeeld: zebrastrepen met TableSorter.js

Door het vorige voorbeeld te nemen, verbeteren we de bruikbaarheid van onze tabellen door sorteerfunctionaliteit te bieden via jQuery en de Tablesorter- plug-in. Klik op de kop van een kolom om de sortering te wijzigen.

# Voornaam Achternaam Taal
1 Uw Een Engels
2 Joe Sixpack Engels
3 Stu Deuk Code
  1. <script src="js/jquery/jquery.tablesorter.min.js"></script> src = "js/jquery/jquery.tablesorter.min.js" ></script>
  2. <script >
  3. $ ( functie () {
  4. $ ( "tabel#sortTableExample" ). tablesorter ({ sortList : [[ 1 , 0 ]] });
  5. });
  6. </script>
  7. <table class = "common-table zebra-striped" >
  8. ...
  9. </table>

Standaard stijlen

Alle formulieren krijgen standaardstijlen om ze op een leesbare en schaalbare manier te presenteren. Er zijn stijlen beschikbaar voor tekstinvoer, selectielijsten, tekstgebieden, keuzerondjes en selectievakjes en knoppen.

Voorbeeld formulierlegenda
Enige waarde hier
Klein stukje helptekst
Voorbeeld formulierlegenda
@
Voorbeeld formulierlegenda
Opmerking: Labels omringen alle opties voor veel grotere klikgebieden en een meer bruikbare vorm.
tot Alle tijden worden weergegeven als Pacific Standard Time (GMT -08:00).
Blok helptekst om het veld hierboven te beschrijven, indien nodig.
 

Gestapelde formulieren

Voeg toe .form-stackedaan de HTML van je formulier en je hebt labels bovenaan hun velden in plaats van links. Dit werkt prima als je formulieren kort zijn of als je twee kolommen met invoer hebt voor zwaardere formulieren.

Voorbeeld formulierlegenda
Voorbeeld formulierlegenda
Klein stukje helptekst
Opmerking: Labels omringen alle opties voor veel grotere klikgebieden en een meer bruikbare vorm.
 

Toetsen

Als conventie worden knoppen gebruikt voor acties, terwijl links worden gebruikt voor objecten. 'Download' kan bijvoorbeeld een knop zijn en 'recente activiteit' kan een link zijn.

Alle knoppen hebben standaard een lichtgrijze stijl, maar er .primaryis een blauwe klasse beschikbaar. Bovendien is het gemakkelijk om je eigen stijlen te rollen.

Voorbeeld knoppen

Knopstijlen kunnen worden toegepast op alles met de .btntoegepaste. Meestal wilt u deze alleen toepassen op <a>, <button>, en geselecteerde <input>elementen. Hier is hoe het eruit ziet:

 

Alternatieve maten

Zin in grotere of kleinere knopen? Probeer maar!

Uitgeschakelde staat

Gebruik de uitgeschakelde status voor knoppen die niet actief zijn of om de een of andere reden door de app zijn uitgeschakeld. Dat is .disabledvoor links en :disabledvoor <button>elementen.

Links

Toetsen

 

Basismeldingen

Berichten in één regel om de mislukking, mogelijke mislukking of het succes van een actie te markeren. Vooral handig voor formulieren.

×

Oh nee! Verander dit en dat en probeer het opnieuw.

×

Heilige gaucamole! U kunt het beste zelf controleren, u ziet er niet al te best uit.

×

Goed gedaan! U heeft dit waarschuwingsbericht met succes gelezen.

×

Kop op! Dit is een waarschuwing die uw aandacht nodig heeft, maar het heeft nog geen hoge prioriteit.

Berichten blokkeren

Voor berichten die een beetje uitleg nodig hebben, hebben we waarschuwingen voor alineastijlen. Deze zijn perfect voor het opborrelen van langere foutmeldingen, het waarschuwen van een gebruiker voor een lopende actie of het presenteren van informatie om meer nadruk op de pagina te leggen.

×

Oh nee! Je hebt een fout!Verander dit en dat en probeer het opnieuw. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.

Voer deze actie uit Of doe dit

×

Heilige gaucamole! Dit is een waarschuwing!U kunt het beste zelf controleren, u ziet er niet al te best uit. Nulla vitae elit libero, een pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

Voer deze actie uit Of doe dit

×

Goed gedaan!U heeft dit waarschuwingsbericht met succes gelezen. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.

Voer deze actie uit Of doe dit

×

Kop op!Dit is een waarschuwing die uw aandacht nodig heeft, maar het heeft nog geen hoge prioriteit.

Voer deze actie uit Of doe dit

modaliteiten

Modals - dialoogvensters of lightboxes - zijn geweldig voor contextuele acties in situaties waarin het belangrijk is dat de achtergrondcontext behouden blijft.

Gereedschapstips

Twipsies zijn super handig om een ​​verwarde gebruiker te helpen en in de goede richting te wijzen.

Lorem ipsum dolar sit amet illo error ipsum veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatum odit perspiciatis laudantium rem doloremque totam voluptas. Voluptasdicta eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt dicta quae quae cumsantium fugit nemo voluptas .

onderstaand!
Rechtsaf!
links!
bovenstaande!

Popovers

Gebruik popovers om subtekstuele informatie aan een pagina te geven zonder de lay-out te beïnvloeden.

Popover-titel

Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum bij eros.

Bootstrap is gebouwd met Preboot , een open-sourcepakket met mixins en variabelen voor gebruik in combinatie met Less , een CSS-preprocessor voor snellere en eenvoudigere webontwikkeling.

Bekijk hoe we Preboot in Bootstrap hebben gebruikt en hoe u er gebruik van kunt maken als u ervoor kiest om Less op uw volgende project uit te voeren.

Hoe te gebruiken

Gebruik deze optie om volledig gebruik te maken van Bootstrap's Less-variabelen, mixins en nesting in CSS via javascript in uw browser.

  1. <link rel = "stylesheet/less" href = "less/bootstrap.less" media = "all" />
  2. <script src = "js/less-1.0.41.min.js" ></script>

Voel je de .js-oplossing niet? Probeer de Less Mac-app of gebruik Node.js om te compileren wanneer u uw code implementeert.

Wat is inbegrepen

Hier zijn enkele van de hoogtepunten van wat is opgenomen in Twitter Bootstrap als onderdeel van Bootstrap. Ga naar de Bootstrap-website of Github-projectpagina om meer te downloaden en te leren.

Kleurvariabelen

Variabelen in Less zijn perfect om uw CSS hoofdpijnvrij te onderhouden en bij te werken. Als u een kleurwaarde of een veelgebruikte waarde wilt wijzigen, werkt u deze op één plek bij en bent u klaar.

  1. // Links
  2. @linkColor : #8b59c2;
  3. @linkColorHover : donkerder maken ( @linkColor , 10 );
  4.  
  5. // Grijzen
  6. @zwart : #000;
  7. @grayDark : lichter maken ( @black , 25 %);
  8. @grijs : lichter maken ( @zwart , 50 %);
  9. @grayLight : lichter maken ( @black , 70 %);
  10. @grayLighter : lichter maken ( @black , 90 %);
  11. @wit : #fff;
  12.  
  13. // Accentkleuren
  14. @blauw : #08b5fb;
  15. @groen : #46a546;
  16. @rood : #9d261d;
  17. @geel : #ffc40d;
  18. @oranje : #f89406;
  19. @roze : #c3325f;
  20. @paars : #7a43b6;
  21.  
  22. // Basislijn
  23. @basislijn : 20px ;

Reageren

Less biedt naast de normale /* ... */syntaxis van CSS ook een andere stijl van commentaar.

  1. // Dit is een reactie
  2. /* Dit is ook een opmerking */

Mengt de wazoo

Mixins zijn in feite omvat of gedeeltelijke onderdelen voor CSS, waardoor u een codeblok in één kunt combineren. Ze zijn geweldig voor eigenschappen die voorafgaan aan leveranciers, zoals box-shadow, cross-browser gradiënten, font-stacks en meer. Hieronder vindt u een voorbeeld van de mixins die bij Bootstrap worden geleverd.

Lettertypestapels

  1. #lettertype {
  2. . steno ( @weight : normal , @size : 14px , @lineHeight : 20px ) {
  3. lettergrootte : @grootte ; _ _
  4. lettertype - gewicht : @weight ;
  5. regelhoogte : @lineHeight ; _ _
  6. }
  7. . schreefloos ( @weight : normal , @size : 14px , @lineHeight : 20px ) { _ _
  8. font - familie : " Helvetica Neue " , Helvetica , Arial , schreefloos ;
  9. lettergrootte : @grootte ; _ _
  10. lettertype - gewicht : @weight ;
  11. regelhoogte : @lineHeight ; _ _
  12. }
  13. . serif ( @weight : normal , @size : 14px , @lineHeight : 20px ) {
  14. font - familie : " Georgia " , Times New Roman , Times , schreefloos ;
  15. lettergrootte : @grootte ; _ _
  16. lettertype - gewicht : @weight ;
  17. regelhoogte : @lineHeight ; _ _
  18. }
  19. . monospace ( @weight : normal , @size : 12px , @lineHeight : 20px ) {
  20. font - family : "Monaco" , Courier New , monospace ;
  21. lettergrootte : @grootte ; _ _
  22. lettertype - gewicht : @weight ;
  23. regelhoogte : @lineHeight ; _ _
  24. }
  25. }

Verlopen

  1. #gradiënt {
  2. . horizontaal ( @startColor : #555, @endColor: #333) {
  3. achtergrondkleur : @endColor ; _ _
  4. achtergrond - herhalen : herhalen - x ;
  5. background - image : - khtml - verloop ( lineair , links boven , rechts boven , van ( @startColor ), naar ( @endColor )); // Konqueror
  6. achtergrond - afbeelding : - moz - lineair - verloop ( links , @startColor , @endColor ); // FF 3.6+
  7. achtergrond - afbeelding : - ms - lineair - verloop ( links , @startColor , @endColor ); // IE10
  8. achtergrond - afbeelding : - webkit - verloop ( lineair , links boven , rechts boven , kleur - stop ( 0 %, @startColor ), kleur - stop ( 100 %, @endColor )); // Safari 4+, Chrome 2+
  9. achtergrond - afbeelding : - webkit - lineair - verloop ( links , @startColor , @endColor ); // Safari 5.1+, Chrome 10+
  10. achtergrond - afbeelding : - o - lineair - verloop ( links , @startColor , @endColor ); // Opera 11.10
  11. - ms - filter : %( "progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)" , @startColor , @endColor ); // IE8+
  12. filter : e (%( "progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)" , @startColor , @endColor )); // IE6 & IE7
  13. achtergrond - afbeelding : lineair - verloop ( links , @startColor , @endColor ); // Le standaard
  14. }
  15. . verticaal ( @startColor : #555, @endColor: #333) {
  16. achtergrondkleur : @endColor ; _ _
  17. achtergrond - herhalen : herhalen - x ;
  18. background - image : - khtml - verloop ( lineair , links boven , links onder , van ( @startColor ), naar ( @endColor )); // Konqueror
  19. achtergrond - afbeelding : - moz - lineair - verloop ( @startColor , @endColor ); // FF 3.6+
  20. achtergrond - afbeelding : - ms - lineair - verloop ( @startColor , @endColor ); // IE10
  21. achtergrond - afbeelding : - webkit - verloop ( lineair , links boven , links onder , kleur - stop ( 0 %, @startColor ), kleur - stop ( 100 %, @endColor )); // Safari 4+, Chrome 2+
  22. achtergrond - afbeelding : - webkit - lineair - verloop ( @startColor , @endColor ); // Safari 5.1+, Chrome 10+
  23. achtergrond - afbeelding : - o - lineair - verloop ( @startColor , @endColor ); // Opera 11.10
  24. - ms - filter : %( "progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)" , @startColor , @endColor ); // IE8+
  25. filter : e (%( "progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)" , @startColor , @endColor )); // IE6 & IE7
  26. achtergrond - afbeelding : lineair - verloop ( @startColor , @endColor ); // De standaard
  27. }
  28. . directioneel ( @startColor : #555, @endColor: #333, @deg: 45deg) {
  29. ...
  30. }
  31. . verticaal - drie - kleuren ( @startColor : #00b3ee, @midColor: #7a43b6, @colorStop: 0.5, @endColor: #c3325f) {
  32. ...
  33. }
  34. }

Operaties en rastersysteem

Word fantasie en voer wat wiskunde uit om flexibele en krachtige mixins te genereren zoals die hieronder.

  1. // Griditude
  2. @gridColumns : 16 ;
  3. @gridColumnWidth : 40px ;
  4. @gridGutterWidth : 20px ;
  5.  
  6. // Grid-systeem
  7. . houder {
  8. breedte : @siteWidth ;
  9. marge : 0 automatisch ;
  10. . clearfix ();
  11. }
  12. . kolommen ( @columnSpan : 1 ) {
  13. weergave : inline ;
  14. zweven : links ;
  15. breedte : ( @gridColumnWidth * @columnSpan ) + ( @gridGutterWidth * ( @columnSpan - 1 ));
  16. marge - links : @gridGutterWidth ;
  17. &: eerste - kind {
  18. marge - links : 0 ;
  19. }
  20. }
  21. . offset ( @columnOffset : 1 ) {
  22. margin - left : ( @gridColumnWidth * @columnOffset ) + ( @gridGutterWidth * ( @columnOffset - 1 )) ! belangrijk ;
  23. }