ฉันใช้ Twitter Bootstrap เพื่อพัฒนาเว็บไซต์ด้วยคลาสคอนเทนเนอร์คงที่ แต่ตอนนี้ลูกค้าต้องการให้เว็บไซต์มีความกว้าง 1000px ไม่ใช่ 1170px ฉันไม่ใช้ไฟล์ .less
มีวิธีแก้ไขอย่างรวดเร็วหรือไม่?
ฉันใช้ Twitter Bootstrap เพื่อพัฒนาเว็บไซต์ด้วยคลาสคอนเทนเนอร์คงที่ แต่ตอนนี้ลูกค้าต้องการให้เว็บไซต์มีความกว้าง 1000px ไม่ใช่ 1170px ฉันไม่ใช้ไฟล์ .less
มีวิธีแก้ไขอย่างรวดเร็วหรือไม่?
คำตอบ:
ไปที่ส่วนCustomizeบนเว็บไซต์ Bootstrap และเลือกขนาดที่คุณต้องการ คุณจะต้องตั้งค่า@gridColumnWidth
และ@gridGutterWidth
ตัวแปร
ตัวอย่างเช่น@gridColumnWidth = 65px
และ@gridGutterWidth = 20px
ผลลัพธ์ใน1000px
เค้าโครง
จากนั้นดาวน์โหลด
นี่คือวิธีแก้ปัญหา:
@media (min-width: 1200px) {
.container{
max-width: 970px;
}
}
ข้อดีของการทำเช่นนี้เทียบกับการปรับแต่ง Bootstrap เช่นเดียวกับคำตอบของ @ Bastardoคือมันจะไม่เปลี่ยนไฟล์ Bootstrap ตัวอย่างเช่นหากใช้ CDN คุณยังสามารถดาวน์โหลด Bootstrap ส่วนใหญ่ได้จาก CDN
คุณกำลังผูกคนที่อยู่ด้านหลังของคุณและบอกว่าคุณจะไม่ใช้ไฟล์ LESS ฉันสร้างธีม Twitter Bootstrap ตัวแรกโดยใช้ 2.0 และทำทุกอย่างใน CSS - สร้างไฟล์ override.css ใช้เวลาหลายวันกว่าจะทำงานได้อย่างถูกต้อง
ตอนนี้เรามี 3.0 ขอรับรองว่าใช้เวลาน้อยลงในการเรียนรู้ LESS ซึ่งค่อนข้างตรงไปตรงมาหากคุณพอใจกับ CSS มากกว่าการลบล้าง CSS ที่บ้าคลั่งเหล่านั้นทั้งหมด การเปลี่ยนแปลงอย่างที่คุณต้องการคือเค้กสักชิ้น
ใน Bootstrap 3.0 คลาสคอนเทนเนอร์จะควบคุมความกว้างและสไตล์ที่มีอยู่ทั้งหมดจะปรับให้เต็มคอนเทนเนอร์ ตัวแปรความกว้างของคอนเทนเนอร์อยู่ที่ด้านล่างของไฟล์ 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));
บางไซต์อาจมีเนื้อหาไม่เพียงพอที่จะแสดงผล 1020 หรือคุณต้องการกรอบที่แคบลงด้วยเหตุผลด้านความสวยงาม เนื่องจาก BS ใช้กริด 12 คอลัมน์ฉันจึงใช้หลาย ๆ เช่น 960
@container-sm
, @container-md
และ@container-lg
(ตอนนี้)
@mcbjam ได้ให้คำตอบนี้แล้ว แต่นี่คือคำอธิบายเพิ่มเติมเล็กน้อย
คุณสามารถทำการเปลี่ยนแปลงได้อย่างง่ายดายโดยใช้แบบสอบถามสื่อในไฟล์ CSS ของคุณโดยไม่ต้องดาวน์โหลด BS ฉันเพิ่งทำสิ่งนี้และมันก็ทำงานได้อย่างสวยงาม
ค่า "ความกว้างต่ำสุด" ของคิวรีสื่อจะบอกให้ CSS เปลี่ยนความกว้างของคอนเทนเนอร์ของคุณเป็น 1000px เฉพาะบนหน้าจอที่มีขนาดใหญ่กว่า 1200px (หรือความกว้างใดก็ตามที่คุณเลือกรวมไว้ที่นั่น) วิธีนี้จะรักษาการตอบสนองของไซต์ของคุณดังนั้นเมื่อขนาดหน้าจอกระโดดลงไปต่ำกว่าค่าดังกล่าว (จอภาพขนาดเล็กแท็บเล็ตสมาร์ทโฟน ฯลฯ ) ไซต์ของคุณจะยังคงปรับให้พอดีกับหน้าจอที่เล็กลง
@media (min-width: 1200px) {
.container {
width: 1000px;
}
}
สำหรับ bootstrap 4 ถ้าคุณใช้ Sass นี่คือตัวแปรที่จะแก้ไข
// Grid containers
//
// Define the maximum width of `.container` for different screen sizes.
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px
) !default;
ในการแทนที่ตัวแปรนี้ฉันได้ประกาศ $ container-max-widths โดยไม่มี! default ในไฟล์ .ass ของฉันก่อนที่จะนำเข้า bootstrap
หมายเหตุ: ฉันต้องการเปลี่ยนค่า xl เท่านั้นดังนั้นฉันจึงไม่สนใจที่จะคิดถึงเบรกพอยต์
ตั้งค่าคลาสคอนเทนเนอร์เนื้อหาของคุณเองด้วยคุณสมบัติความกว้าง 1000px จากนั้นใช้คลาสบูสต์แร็พของของไหลแทนคอนเทนเนอร์
ใช้ได้ผล แต่อาจไม่ใช่ทางออกที่ดีที่สุด
ใช้ตัวเลือกกระดาษห่อและสร้างคอนเทนเนอร์ที่มีความกว้าง 100% ภายในกระดาษห่อนั้นเพื่อห่อหุ้มทั้งหน้า
<style>#wrapper {width: 1000px;}
#wrapper .container {max-width: 100%; display: block;}</style>
<body>
<div id="wrapper">
<div class="container">
<div class="row">....
ตอนนี้ความกว้างสูงสุดถูกกำหนดไว้ที่ 1000px และคุณไม่จำเป็นต้องมีน้อยกว่าหรือ sass
ขนาดตู้คอนเทนเนอร์
@container-large-desktop
(1140px + @grid-gutter-width) -> (970px + @grid-gutter-width)
ในส่วนขนาดคอนเทนเนอร์เปลี่ยน1140
เป็น970
ฉันหวังว่ามันจะช่วยคุณได้
ขอบคุณสำหรับความถูกต้อง ลิงค์สำหรับปรับแต่ง bootstrap: https://getbootstrap.com/docs/3.4/customize/
เพิ่มส่วนของ CSS เหล่านี้ในสไตล์ css ของคุณ จะดีกว่าที่จะเพิ่มสิ่งนี้หลังจากเพิ่มไฟล์ bootstrap css เพื่อที่จะเขียนทับไฟล์เดียวกัน
html, body {
height: 100%;
max-width: 100%;
overflow-x: hidden;
}`