Użyłem Twitter Bootstrap do stworzenia strony internetowej ze stałą klasą kontenera, ale teraz klient chce, aby strona miała szerokość 1000 pikseli, a nie 1170 pikseli. Nie używam plików .less.
Czy można to szybko naprawić?
Użyłem Twitter Bootstrap do stworzenia strony internetowej ze stałą klasą kontenera, ale teraz klient chce, aby strona miała szerokość 1000 pikseli, a nie 1170 pikseli. Nie używam plików .less.
Czy można to szybko naprawić?
Odpowiedzi:
Przejdź do sekcji Dostosuj w witrynie Bootstrap i wybierz preferowany rozmiar. Będziesz musiał ustawić @gridColumnWidth
i @gridGutterWidth
zmienne.
Na przykład: @gridColumnWidth = 65px
i @gridGutterWidth = 20px
wyniki w 1000px
układzie.
Następnie pobierz.
Oto rozwiązanie:
@media (min-width: 1200px) {
.container{
max-width: 970px;
}
}
Zaletą tego rozwiązania w porównaniu z dostosowywaniem Bootstrap, jak w odpowiedzi @ Bastardo , jest to, że nie zmienia to pliku Bootstrap. Na przykład, jeśli używasz CDN, nadal możesz pobrać większość Bootstrap z CDN.
Wiążesz jeden, który miał za plecami, mówiąc, że nie będziesz używać plików LESS. Swój pierwszy motyw Twitter Bootstrap zbudowałem w wersji 2.0 i wszystko zrobiłem w CSS - tworząc plik override.css. Poprawne działanie rzeczy zajęło kilka dni.
Teraz mamy 3.0. Zapewniam cię, że nauka MNIEJ zajmuje mniej czasu, co jest całkiem proste, jeśli czujesz się komfortowo z CSS, niż robienie wszystkich tych szalonych przesłonięć CSS. Wprowadzanie zmian, takich jak ta, którą chcesz, to bułka z masłem.
W Bootstrap 3.0 klasa kontenera kontroluje szerokość, a wszystkie zawarte w niej style dostosowują się do wypełnienia kontenera. Zmienne szerokości kontenera znajdują się na dole pliku variable.less.
// Container sizes
// --------------------------------------------------
// Small screen / tablet
@container-tablet: ((720px + @grid-gutter-width));
// Medium screen / desktop
@container-desktop: ((940px + @grid-gutter-width));
// Large screen / wide desktop
@container-lg-desktop: ((1020px + @grid-gutter-width));
Niektóre witryny albo nie mają wystarczającej ilości treści, aby wypełnić wyświetlacz 1020, albo chcesz mieć węższą ramkę ze względów estetycznych. Ponieważ BS używa siatki 12-kolumnowej, używam wielokrotności, takiej jak 960.
@container-sm
, @container-md
a @container-lg
(teraz)
@mcbjam już udzielił tej odpowiedzi, ale tutaj jest trochę więcej wyjaśnień.
Możesz łatwo wprowadzić zmianę za pomocą zapytania o media w pliku CSS bez pobierania BS. Właśnie to zrobiłem i działa pięknie.
Wartość „min-width” w zapytaniu o media informuje CSS, aby zmienił szerokość kontenera na 1000 pikseli tylko na ekranach większych niż 1200 pikseli (lub o dowolnej szerokości, którą zdecydujesz się tam uwzględnić). Zachowuje to responsywność witryny, więc gdy rozmiar ekranu spadnie poniżej tej wartości (mniejszy monitor, tablet, smartfon itp.), Twoja witryna nadal będzie dostosowywać się do mniejszych ekranów.
@media (min-width: 1200px) {
.container {
width: 1000px;
}
}
Dla bootstrap 4, jeśli używasz Sass, tutaj jest zmienna do edycji
// Grid containers
//
// Define the maximum width of `.container` for different screen sizes.
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px
) !default;
Aby nadpisać tę zmienną, zadeklarowałem $ container-max-widths bez! Default w moim pliku .sass przed zaimportowaniem bootstrapa.
Uwaga: potrzebowałem tylko zmienić wartość xl, więc nie przejmowałem się myśleniem o punktach przerwania.
Ustaw własną klasę kontenera treści z właściwością szerokości 1000px, a następnie użyj klasy boostrap container-fluid zamiast container.
Działa, ale może nie być najlepszym rozwiązaniem.
Użyj selektora opakowania i utwórz kontener, który ma 100% szerokości wewnątrz tego opakowania, aby hermetyzować całą stronę.
<style>#wrapper {width: 1000px;}
#wrapper .container {max-width: 100%; display: block;}</style>
<body>
<div id="wrapper">
<div class="container">
<div class="row">....
Teraz maksymalna szerokość jest ustawiona na 1000 pikseli i nie potrzebujesz mniej lub sass.
Rozmiary pojemników
@container-large-desktop
(1140px + @grid-gutter-width) -> (970px + @grid-gutter-width)
w sekcji Rozmiary pojemników zmienić 1140
na970
Mam nadzieję, że ci pomoże.
dziękuję za poprawne. łącze do dostosowania bootstrap: https://getbootstrap.com/docs/3.4/customize/