Remove padding/margin to the right and left of col-md-* in Bootstrap 3.
HTML code:
OntoExplorer.
Dimensions
Results
Desired output:
Currently this code adds padding/margin to the right and left of the two columns. I am wondering what it is I am missing in order to remove this extra space on the sides?
Notice:
If I remove "col-md-4" then both columns expand to 100% but I want them to be next to each other.
回答1:
You'd normally use .row to wrap two columns, not .col-md-12 - that's a column encasing another column. Afterall, .row doesn't have the extra margins and padding that a col-md-12 would bring and also discounts the space that a column would introduce with negative left & right margins.
OntoExplorer.
Dimensions
Results
if you really wanted to remove the padding/margins, add a class to filter out the margins/paddings for each child column.
You may also want to remove padding only for certain device sizes (SASS example):
/* Small devices (tablets, 768px and up) */ @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) { .row-sm-no-padding { [class*="col-"] { padding-left: 0 !important; padding-right: 0 !important; } } }
You can remove the max-width part of the media query if you want it to support small devices upwards.
回答3:
Reducing just the padding on the columns won't make the trick, as you will extend the width of the page, making it uneven with the rest of your page, say navbar. You need to equally reduce the negative margin on the row. Taking @martinedwards' LESS example:
.no-padding-left .no-padding-right .no-padding-bottom .no-padding-top .no-padding - to remove padding from all sides
Sure, you can @include only those declarations, which you need.
回答5:
simply Add "no-padding" which is inbuilt class in bootstrap
回答6:
Another solution, feasible only if you compile bootstrap from its LESS sources, is to redefine the variable which sets the padding for the columns.
You will find the variable in the variables.less file: it's called @grid-gutter-width.
It's described like this in the sources:
//** Padding between columns. Gets divided in half for the left and right. @grid-gutter-width: 30px;
Set this to 0, compile bootstrap.less, and include the resulting bootstrap.css. You are done. It can be an alternative to defining an additional rule, if you are already using bootstrap sources like I am.
回答7:
[class*="col-"] padding: 0 margin: 0
回答8:
None of the above solutions worked perfectly for me. Following this answer I was able to create something that works for me. Here I am also using a media query to limit this to small screens only.
You can add a class of row to the div inside the col-md-4 and the row's -15px margin will balance out the gutter from the columns. Good explanation here about gutters and rows in Bootstrap 3.
回答11:
I guess it's easier to just use
margin:-30px;
to override the original value set by bootstrap.
I've tried
margin: 0px -30px 0px -30px;
and it worked for me.
回答12:
Wrap your columns in a .row and add to that div a class called "no-gutter"
Building up on Vitaliy Silin's answer. Covering not only cases where we do not want padding at all, but also cases where we have standard size paddings.
Sometimes you might lose the padding that you want for the columns. They end up sticking to each other. To prevent that, you could update the class as follows:
If you download bootstrap with the SASS files you will be able to edit the config file where there are a setting for the margin of the columns and then save it, in that way the SASS calculates the new width of the columns
回答20:
You can customize your Bootstrap Grid system and define your custom responsive grid.
change your default values for the following gutter width from @grid-gutter-width = 30px to @grid-gutter-width = 0px
(Gutter width is padding between columns. It gets divided in half for the left and right.)
回答21:
Bootstrap has the class .no-gutters that you can add to the row element.