ตอนนี้ทุกไซต์นั้นถูกสร้างขึ้นอย่างน้อยพยักหน้าเพื่อตอบสนองการออกแบบเว็บ วิธีที่เราจัดโครงสร้างสไตล์การตอบสนองเหล่านี้มีความสัมพันธ์โดยตรงกับความซับซ้อนของโครงการที่จะรักษาและแก้ไขในอนาคตเนื่องจากมีการปรับปรุงและโครงการที่เพิ่มขึ้น
อย่างไรก็ตามเรื่องนี้ดูเหมือนว่าเป็นวิธีการที่ยอมรับกันอย่างกว้างขวางสำหรับวิธีการที่จะจัดโครงสร้างสไตล์การตอบสนองเหล่านี้ยังไม่ได้รับการยอมรับอย่างต่อเนื่องโดยนักพัฒนา แม้ว่าจะไม่มีที่ไหนใกล้เคียงกับ 'วันเก่า ๆ ' ของ CSS ก่อนที่ตัวประมวลผลล่วงหน้าและวิธีการตั้งชื่อนี่คือวิธีการที่ไม่สอดคล้องกันและมักจะยุ่งในการสร้างสไตล์การตอบสนองสำหรับองค์ประกอบ
เพิ่งเริ่มต้นกับเว็บไซต์ของคุณ? เลือก สร้างเว็บไซต์ และ เว็บโฮสติ้ง บริการ. ทำงานกับทีมใหญ่ ๆ ? ตรวจสอบให้แน่ใจของคุณ การจัดเก็บเมฆ ทำให้ทุกคนทันสมัยกับระบบการออกแบบของคุณ
เพื่อทำความเข้าใจปัญหาที่เรากำลังเผชิญอยู่ลองกลับไปที่จุดเริ่มต้น หนึ่งในเหตุผลที่ตัวประมวลผลสัญญาณ CSS เช่น Sass หรือน้อยกว่าถูกสร้างขึ้นในตอนแรกคือเนื่องจาก CSS สามารถยุ่งมากและมีชื่อเสียงอย่างหนักเพื่อรักษา เราเคยพบว่าหลังจากนั้นไม่นานแม้แต่เว็บไซต์ขนาดเล็กก็มีเส้นตามแนวของสไตล์ของ CSS ที่เหลืออยู่เพียงเพราะนักพัฒนาไม่แน่ใจว่าจำเป็นหรือไม่หรือที่เหลือของคุณสมบัติที่ลบออกหรือองค์ประกอบที่ล้าสมัยที่สามารถลบได้
ใช้สถานการณ์สมมติต่อไปนี้เป็นตัวอย่าง:
. เฮดิง {พื้นหลัง: # 000000; };
.title {ขนาดตัวอักษร: 16px; };
.TITLE_SMALL {ขนาดฟอนต์: 14px; }
.title_alt {Font-Family: Sans-Serif; }
แม้ว่าคุณอาจคิดว่าปลอดภัยที่จะสมมติว่าองค์ประกอบ. title เป็นชื่อขององค์ประกอบ. heading ในบริบทนี้ที่จริงแล้วคุณไม่สามารถมั่นใจได้อย่างสมบูรณ์ว่ามันไม่ได้ใช้ในการจัดสไตล์องค์ประกอบชื่อเรื่องอื่น ๆ ในเว็บไซต์ . นอกจากนี้ยังอยู่ที่ไหน. title_alt คลาสใช้งานและยังต้องการหรือใช้งานอยู่? คุณสามารถดูได้ว่ามันเป็นตัวอย่างง่ายๆที่ง่ายต่อการใช้งานที่ใช้เวลานานในการตรวจสอบทั้งหมดนี้ก่อนทำการเปลี่ยนแปลง
ด้วยเหตุนี้นักพัฒนาจำนวนมากจะประหยัดเวลาโดยการเพิ่มคลาสใหม่ให้กับองค์ประกอบหรือการใช้ตัวเลือก CSS ที่ซับซ้อนมากขึ้นเพื่อทำการเปลี่ยนแปลงที่ต้องการซึ่งจะเพิ่มความซับซ้อนของ CSS สำหรับครั้งต่อไปที่จำเป็นต้องมีการเปลี่ยนแปลง .
ด้วยความสามารถในการทำรังสไตล์ใช้ตัวแปรขยายคลาสอื่น ๆ และอื่น ๆ ตัวประมวลผลล่วงหน้าปฏิวัติวิธีที่เราสร้างและบำรุงรักษา CSS น่าเสียดายที่พวกเขาไม่ได้แก้ปัญหาที่ยุ่งเหยิงรูปแบบที่ล้าสมัยซึ่งแพร่กระจายและเติบโตตลอดทั้งโครงการเมื่อมีอายุเช่นการติดเชื้อ
ตามการตั้งชื่ออนุสัญญาและวิธีการ CSS เช่น งอ ซึ่งเมื่อนำไปใช้ให้ระดับบริบทที่สูงขึ้นเป็นรูปแบบ
เมื่อรวมกับการเปลี่ยนแปลงการแก้ไขและสไตล์ขององค์ประกอบที่ซ้อนกันในตัวเองโดยใช้ โมดูล CSS วิธีที่แข็งแกร่งในการจัดโครงสร้างสไตล์ของคุณเกิด
ด้านล่างนี้คุณสามารถดูว่าการปรับปรุงเหล่านี้สามารถแก้ปัญหาที่เราพบกับตัวอย่างโค้ดก่อนหน้านี้:
. เฮดิง {
พื้นหลัง: $ black;
}
. heading__title {
ขนาดตัวอักษร: 16px;
& amp; .heading__title - เล็ก {
ขนาดตัวอักษร: 14px;
}
}
.post__title - Alt {
ตัวอักษรตระกูล: Sans-Serif;
}
เป็นที่ชัดเจนทันทีว่าสไตล์ชื่อเรื่องที่นี่มีอยู่โดยเฉพาะภายในองค์ประกอบหัวเรื่อง คุณสามารถลบ / แก้ไขได้อย่างปลอดภัยโดยไม่ต้องกังวลกับองค์ประกอบอื่น ๆ นอกจากนี้คุณยังสามารถเห็นว่าชื่อเรื่องเล็ก ๆ เป็นรูปแบบส่วนหัว แต่รูปแบบชื่อ ALT นั้นมีไว้สำหรับองค์ประกอบอื่น
ในความคิดของฉันเมื่อทำตามการรวมกันของโครงสร้างและระเบียบวิธีการตั้งชื่อมันค่อนข้างง่ายในการสร้างสไตล์ CSS ที่สะอาดและบำรุงรักษาได้ง่าย บริบทสามารถรับได้อย่างรวดเร็วและโมดูลที่มีอยู่ในตัวเองของ CSS สามารถคัดลอกและวางในโครงการอื่น ๆ หรือแก้ไขและลบได้อย่างง่ายดาย
อาจดูเหมือนว่าปัญหาของรหัสที่ยุ่งเหยิงและไม่สามารถแก้ไขได้ แต่เมื่อการออกแบบที่ตอบสนองกลายเป็นที่เกี่ยวข้องมากขึ้นเรื่อย ๆ ก็เห็นได้ชัดว่าเราทำซ้ำข้อผิดพลาดของเราซ้ำแล้วซ้ำอีกอีกครั้งและสร้างโครงสร้างที่ไม่ดีแนวทางที่ซับซ้อนมากเกินไปในการสร้างเว็บไซต์ที่ตอบสนองได้
การแก้ปัญหานี้คือที่ที่สื่อสบู่สกรูเข้ามาเล่น
ขอบคุณการปรับปรุงที่กล่าวถึงในแนวทางของเราในการสร้าง CSS เมื่อใดก็ตามที่ฉันสืบทอดหรือทำงานร่วมกันในโครงการวันนี้ฉันไม่ค่อยได้สัมผัสกับความหวาดกลัวหรือกังวลว่าฉันกำลังเปิดตัวเองเพื่อตกอยู่ในไฟของนรกเฉพาะหรือความระส่ำระสายโครงสร้างที่ฉันใช้ มีในสถานการณ์เหล่านั้น ตอนนี้ฉันรู้แล้วว่าฉันสามารถค้นหาและเข้าใจคลาสและสไตล์ที่เกี่ยวข้องได้อย่างรวดเร็วด้วยวิธีการตั้งชื่อและทำการเปลี่ยนแปลงของฉันโดยไม่มีผลกระทบที่ไม่อาจเกิดขึ้นได้กับองค์ประกอบอื่น ๆ ขอบคุณ Modular CSS
น่าเสียดายที่สาเหตุสำคัญหนึ่งของความยุ่งยากที่ฉันพบคือรูปแบบที่ตอบสนองยังคงอยู่ในโครงการที่ไม่สอดคล้องกัน พวกเขาอาจมีอยู่ในโครงสร้างแบบแยกส่วนและตั้งชื่ออย่างเหมาะสมในวิธีการตั้งชื่อ แต่โครงการโดยโครงการฉันเห็นหลายวิธีที่นักพัฒนาเลือกที่จะรวมสไตล์ตอบสนองของพวกเขา
บางคนสร้าง sass แยกต่างหากชื่อ _mobile.scss หรือ _tablet.scss แบบสอบถามสื่อบางอย่างที่ด้านล่างของไฟล์ที่เกี่ยวข้องในลำดับจากน้อยไปมากหรือน้อยลงและอื่น ๆ เพียงแค่วางพวกเขาสุ่มระหว่างสไตล์สำหรับองค์ประกอบอื่น ๆ ด้วยวิธีนี้ฉันพบว่าตัวเองติดแท็บระหว่างไฟล์และเลื่อนไปที่ด้านบนและด้านล่างของไฟล์เพื่อให้ได้ความเข้าใจอย่างเต็มรูปแบบของสไตล์องค์ประกอบหนึ่งในช่วงเบรกพอยต์ที่แตกต่างกัน
อย่างที่คุณเห็นมีปัญหามากมายกับสิ่งนี้ที่รวมกันทั้งหมดที่จะทำให้นักพัฒนาซอฟต์แวร์ใช้เวลาทำงานกับการเปลี่ยนแปลง / การแก้ไขมากกว่าที่จำเป็นจริงๆ
โซลูชันที่ฉันชอบใช้เพื่อแก้ไขสิ่งนี้เรียกว่าการสืบค้นแบบสอบถามสื่อ วิธีที่ง่ายที่สุดในการอธิบายคือการพิจารณาแบบสอบถามของสื่อเป็นเหมือนรูปแบบอื่น ๆ ขององค์ประกอบแบบแยกส่วนของคุณ เช่นเดียวกับคลาสการแปรผัน BEM ของ. heading__title คือ. heading__title การเปลี่ยนแปลงตัวอย่างเช่น ซึ่งหมายความว่าแบบสอบถามสื่อควรซ้อนกันเหมือนกับคลาสการแก้ไขของคุณ ดูรหัสต่อไปนี้เป็นตัวอย่างของสิ่งนี้:
. พัชเซอร์ {
พื้นหลัง: $ black;
@Media หน้าจอเท่านั้นและ (min-width: 640px) {
พื้นหลัง: $ white;
}
}
ในตัวอย่างนี้คุณสามารถเห็นได้อย่างชัดเจนในตำแหน่งเดียวที่พื้นหลังของส่วนหัวเปลี่ยนเป็นสีขาวที่ 640px หรือสูงกว่า ด้วยการใช้สื่อแบบสอบถามด้วยตนเองพร้อมกับสไตล์ขององค์ประกอบคุณได้สร้างโมดูลที่มีอยู่ในตัวเองทั้งหมดที่สามารถนำกลับมาใช้ใหม่หรือแก้ไขด้วยความมั่นใจ ไม่จำเป็นต้องข้ามการตรวจสอบไฟล์ _mobile.scss หรือค้นหาโครงการสำหรับการกล่าวถึงชั้นเรียนอื่น ๆ เพื่อให้แน่ใจว่าคุณได้ครอบคลุมจุดพักทั้งหมดแล้ว
อีกครั้งฉันได้เห็นการเปลี่ยนแปลงมากมายของวิธีที่นักพัฒนาเลือกที่จะจัดโครงสร้างสไตล์การตอบสนองขององค์ประกอบของพวกเขา สิ่งนี้ควรพิจารณาไม่แตกต่างจากการจัดแต่งทรงผมองค์ประกอบหลักและการสืบค้นและสไตล์สื่อทั้งหมดควรอยู่ในตัวเอง ดูตัวอย่างต่อไปนี้:
. เฮด __title {
ขนาดตัวอักษร: 16px;
@Media หน้าจอเท่านั้นและ (min-width: 640px) {
ขนาดตัวอักษร: 18px;
}
& amp; .heading__title - เล็ก {
ขนาดตัวอักษร: 14px;
@Media หน้าจอเท่านั้นและ (min-width: 640px) {
ขนาดตัวอักษร: 16px;
}
}
}
คุณสามารถดูว่าขนาดตัวอักษรสำหรับหัวเรื่อง __title จะใหญ่ขึ้นเมื่อวิวพอร์ตคือ 640px หรือใหญ่กว่าและวิธีการที่แตกต่างกันของหัวเรื่องหัวเรื่องที่ขยายใหญ่ขึ้น แต่ถูกกำหนดให้มีขนาดเล็กกว่ามาตรฐาน การใช้เทคนิคนี้เป็นสิ่งสำคัญมากที่จะใช้วิธีการเบี้ยอย่างรุนแรงเพื่อให้แน่ใจว่าคุณจะไม่ทำรังหลายระดับลึก ตัวอย่างเช่นตรวจสอบให้แน่ใจว่าองค์ประกอบ. heading__title เป็นโมดูล CSS ที่อยู่ในตัวเองที่ไม่ได้ซ้อนกันอย่างไม่จำเป็นภายในองค์ประกอบ. heading
ด้วยการเรียนรู้สิ่งที่เราเรียนรู้จากผลประโยชน์ที่ได้รับจาก Bem และ Modular CSS และใช้กับการสืบค้นสื่อภายในโครงสร้างเดียวกันเราหยุดตัวเองจากการทำซ้ำข้อผิดพลาดในอดีตของเรา
ด้วยการทำงานกับแบบสอบถามสื่อด้วยวิธีนี้คุณไม่ต้องเรียนรู้วิธีการหรือโครงสร้างใหม่ทั้งหมดสำหรับสไตล์ของคุณ เราใช้วิธีการ CSS แบบแยกส่วนและนำไปใช้กับการสืบค้นสื่อของเราซึ่งควรรู้สึกเป็นธรรมชาติพอสมควร
นอกจากนี้เรายังสร้าง CSS ที่สะอาดกว่าด้วยการทำซ้ำคลาส CSS น้อยลงในไฟล์และประหยัดเวลาในการพัฒนาโดยการลบความต้องการในการตรวจสอบหลาย ๆ ตำแหน่งเมื่อทำการชดใช้
บทความนี้ได้รับการตีพิมพ์ครั้งแรกใน สุทธิ นิตยสารสำหรับนักออกแบบเว็บไซต์มืออาชีพและนักพัฒนา สมัครสมาชิก NET ที่นี่ .
บทความที่เกี่ยวข้อง:
(เครดิตรูปภาพ: ในอนาคต) เว็บไซต์ที่ทันสมัย�..
(เครดิตรูปภาพ: ในอนาคต) ข้ามไปที่: ..
แพลตฟอร์มแอนิเมชั่น Greensock (GSAP) ช่วยให้คุณสามารถเค..
หนึ่งในคุณสมบัติที่ดีที่สุดของโปรเซสเซอร์ CSS �..
รักหายไป โดยแคนาดา jam3 เป็นบทกวีแบบอินเทอร์แ..
แนวคิดสำหรับโครงการนี้เห็ด Goblin มาจากการวาดภาพ�..
นักออกแบบและโฆษณาจากทุกฟิลด์เป็นเหมือน Magpies ใน..