Problem:
Usuń dopełnienie / margines po prawej i lewej stronie col-md- * w Bootstrap 3.
Kod HTML:
<div class="col-md-12">
<h2>OntoExplorer<span style="color:#b92429">.</span></h2>
<div class="col-md-4">
<div class="widget">
<div class="widget-header">
<h3>Dimensions</h3>
</div>
<div class="widget-content" id="">
<div id='jqxWidget'>
<div style="clear:both;margin-bottom:20px;" id="listBoxA"></div>
<div style="clear:both;" id="listBoxB"></div>
</div>
</div>
</div>
</div>
<div class="col-md-8">
<div class="widget">
<div class="widget-header">
<h3>Results</h3>
</div>
<div class="widget-content">
<div id="map_canvas" style="height: 362px;"></div>
</div>
</div>
</div>
</div>
Pożądane wyjście:
Obecnie ten kod dodaje dopełnienie / margines po prawej i lewej stronie dwóch kolumn. Zastanawiam się, czego mi brakuje, aby usunąć tę dodatkową przestrzeń po bokach?
Ogłoszenie:
Jeśli usunę „col-md-4”, wówczas obie kolumny rozwiną się do 100%, ale chcę, aby były obok siebie.
css
twitter-bootstrap
html
kexxcream
źródło
źródło
pl-0 pr-0
tj.<div class="col-7 pl-0 pr-0">
px-0
który obejmuje zarówno lewy, jak i prawy.Odpowiedzi:
Zwykle
.row
użyłbyś do zawinięcia dwóch kolumn, a nie.col-md-12
- to kolumna obejmująca inną kolumnę. W.row
końcu nie ma dodatkowych marginesów i wypełnienia,col-md-12
które przyniosłoby, a także dyskontuje przestrzeń, którą wprowadziłaby kolumna z ujemnymi lewymi i prawymi marginesami.jeśli naprawdę chcesz usunąć dopełnienie / marginesy, dodaj klasę, aby odfiltrować marginesy / marginesy dla każdej kolumny potomnej.
źródło
.padding-0
ustawia lewą i prawą dopełnienie (tylko) na 0;.padding-sm
która ustawia dopełnianie na 2px i.padding-md
ustawia dopełnianie na 5px. Zwykle wypełnienie to 15 pikseli (o ile nie jest to dostosowane), więc te dodatkowe klasy są wystarczające.Bootstrap 4 dodał
.no-gutters
klasę .Bootstrap 3 : Zawsze dodaję ten styl do mojego Bootstrap LESS / SASS:
Następnie w HTML możesz napisać:
Jeśli chcesz kierować reklamy tylko na kolumny potomne, możesz użyć selektora potomnego (Dzięki John Wu).
Możesz także usunąć dopełnienie tylko dla niektórych rozmiarów urządzeń (przykład SASS):
Możesz usunąć część zapytania o media o maksymalnej szerokości, jeśli chcesz, aby obsługiwała małe urządzenia w górę.
źródło
& >[class*="col-"]
zamiast tego.[class^="col-"], [class*=" col-"] {...}
zamiast tego, aby przypadkowo nie kierować na klasy nazwanefoocol-
na przykład. Spowoduje to skierowanie elementów, które mają tę nazwę klasy na początku lub mają ją również jako klasę drugorzędną, bez kierowania tam, gdzie ciąg znajduje się jako część innej nazwy klasy.Zmniejszenie tylko wypełnienia kolumn nie rozwiąże problemu, ponieważ zwiększysz szerokość strony, czyniąc ją nierówną z resztą strony, powiedzmy pasek nawigacyjny. Musisz również zmniejszyć ujemny margines w wierszu. Biorąc przykład @martinedwards MNIEJ:
źródło
!important
obu marginesów, aby to zadziałałoSpecjalnie dla mixinu SASS:
Następnie w HTML możesz użyć
Jasne, możesz @włączać tylko te deklaracje, których potrzebujesz.
źródło
.banners-home { @include make-row(); .banner-comprar,.banner-pq{ @include no-padding("all"); @include make-xs-column(6); @include make-sm-column(6); @include make-md-column(6); @include make-lg-column(6); } .banner-simulador{ @include no-padding("all"); @include make-xs-column(12); @include make-sm-column(12); @include make-md-column(12); @include make-lg-column(12); } }
@mixin nopadding{ padding:0!important; }
w moim,_mixin.scss
a następnie dodaję@include nopadding;
do powyższego kodu. :)Odtąd dostępne tylko w Bootstrap4
Uwaga: .p-0 i .m-0 już dodały bootstrap.css
źródło
po prostu dodaj „brak paddingu”, który jest wbudowaną klasą w bootstrap 3
źródło
no-gutter
klasę do rodzica.row
.no-gutters
zgodnie z v4-alpha.getbootstrap.com/layout/grid/#no-gutters . Nie jest wbudowany.Bootstrap 4 ma klasę macierzystą, aby to zrobić: dodaj klasę
.no-gutters
do elementu nadrzędnego.row
źródło
Innym rozwiązaniem, wykonalnym tylko wtedy, gdy kompilujesz bootstrap ze źródeł LESS, jest przedefiniowanie zmiennej, która ustawia dopełnianie kolumn.
W
variables.less
pliku znajdziesz zmienną : nazywa się@grid-gutter-width
.Jest tak opisane w źródłach:
Ustaw na 0, skompiluj
bootstrap.less
i dołącz wynikowybootstrap.css
. Gotowe. Może być alternatywą dla zdefiniowania dodatkowej reguły, jeśli już używasz źródeł ładowania początkowego, tak jak ja.źródło
Bootstrap 3, od wersji 3.4.0 , ma oficjalny sposób usuwania dopełnienia: klasy
row-no-gutters
.Przykład z dokumentacji :
źródło
Bootstrap 4 ma klasę .no-rynny, które można dodać do elementu wiersza.
Odniesienie: http://getbootstrap.com/docs/4.0/layout/grid/#grid-options
źródło
źródło
Żadne z powyższych rozwiązań nie działało dla mnie idealnie. Po tej odpowiedzi udało mi się stworzyć coś, co działa dla mnie. Tutaj używam również zapytania medialnego, aby ograniczyć to tylko do małych ekranów.
źródło
Usuń odstępy od czarno-białych kolumn za pomocą bootstrap 3.7.7 lub mniejszej.
źródło
margin:0 auto;
.Możesz dodać klasę wiersza do div wewnątrz col-md-4, a margines rzędu -15px zrównoważy rynnę z kolumn. Dobre wyjaśnienie tutaj o rynien i wierszy w Bootstrap 3.
źródło
Myślę, że łatwiej jest po prostu użyć
aby zastąpić oryginalną wartość ustawioną przez bootstrap.
próbowałem
i zadziałało dla mnie.
źródło
Zawiń kolumny w .row i dodaj do tego div klasę o nazwie „no-gutter”
Następnie wklej poniżej treści do pliku CSS
źródło
Usuń / dostosuj Bootstrap Rynna z odniesieniem css: http://arnique.net/web-design/58/a-quick-guide-to-changing-bootstraps-gutter-width/
źródło
Możesz utworzyć nową klasę do usuwania marginesu i możesz zastosować do elementu, w którym chcesz usunąć dodatkowy margines:
! ważne : pomoże ci usunąć domyślny margines lub zastąpić bieżącą wartość marginesu
i zastosuj do tego diva, z którego chcesz usunąć margines z lewej strony
źródło
źródło
Możesz utworzyć Mniej miksów za pomocą bootstrap do zarządzania marginesami i wypełnieniami swoich kolumn, takich jak:
http://mohandere.work/less-mixins-for-margin-and-padding-with-bootstrap-3/
Stosowanie:
Podobnie do ustawiania marginesu / marginesu wypełniania można użyć,
źródło
Opierając się na odpowiedzi Witalija Silina . Obejmuje nie tylko przypadki, w których w ogóle nie chcemy wypełnień, ale także przypadki, w których mamy standardowe wypełnienia.
Zobacz konwersję na żywo tego kodu do CSS na sassmeister.com
To następnie generuje:
źródło
Czasami możesz stracić wypełnienie, które chcesz dla kolumn. W końcu sklejają się ze sobą. Aby temu zapobiec, możesz zaktualizować klasę w następujący sposób:
i odpowiednia klasa:
źródło
Jeśli pobierzesz bootstrap z plikami SASS, będziesz mógł edytować plik konfiguracyjny, w którym jest ustawienie marginesu kolumn, a następnie zapisać go, w ten sposób SASS oblicza nową szerokość kolumn
źródło
Możesz dostosować swój system Bootstrap Grid i zdefiniować niestandardową elastyczną siatkę.
zmień wartości domyślne dla następującej szerokości rynny z
@grid-gutter-width = 30px
na@grid-gutter-width = 0px
(Szerokość rynny jest wypełnieniem między kolumnami. Zostaje podzielona na pół dla lewej i prawej strony).
źródło
Nadal wolę mieć kontrolę nad każdym wypełnieniem w każdym rozmiarze ekranu, więc ten css może być przydatny dla was :)
źródło
możesz użyć widelca
https://github.com/srghma/bootstrap-rubygem-without-gutter/commit/8e42c16dcc2f132af3489c2275dd7460b524d437
źródło