ตัวอย่างการตกแต่งหน้าเว็บด้วย scss จาก sass (ตอนที่ 8)

Pakin Suwannawat
Technologies For Everyone
2 min readApr 24, 2017

เมื่อเรารู้ความสามารถของ sass เพียงพอแล้ว คงถึงเวลาที่เราจะสร้างผลงานเป็นหน้าเว็บออกมาซักชิ้นแล้ว ในตอนนี้ เราจะสร้างหน้าเว็บขึ้นมาชิ้นนึง ซึ่งจะเริ่มตั้งแต่การสร้างไฟล์เริ่มต้นที่จำเป็นกันเลย

เราจะมาลองเขียนหน้าเว็บสำหรับการล็อคอินกัน (เฉพาะส่วนของหน้าเว็บเท่านั้น ยังไม่มีการเชื่อมไปถึงฝั่งหลังบ้าน)

นี่คือตัวอย่างหน้าเว็บที่เสร็จสมบูรณ์แล้ว

การเตรียมไฟล์สำหรับ generate ไฟล์ css ด้วย gulp

เราจะใช้ gulp จากตอนที่ 1 ในการทำให้ไฟล์ scss กลายเป็นไฟล์ css ซึ่งจำเป็นต้องใช้ gulpfile ตามนี้

ตัวอย่างของ gulpfile

นำ gulpfile ไปไว้ในโฟลเดอร์ project ของเรา แล้วให้เปิด cmd ที่โฟลเดอร์นั้น จากนั้นลง tools ต่อไปนี้

  • local gulp: ด้วยคำสั่ง > npm install gulp
  • gulp-sass: ด้วยคำสั่ง> npm install gulp-sass --save-dev
  • browser-sync ด้วยคำสั่ง> npm install browser-sync

การเขียน source code สำหรับหน้าเว็บ

เมื่อเตรียม gulp เสร็จแล้ว ขั้นต่อไปคือการเขียน html ให้เขียนเฉพาะโครงสร้างที่จำเป็น จากตัวอย่างข้างบน จะได้ไฟล์ html ตามนี้

ตัวอย่างไฟล์ index.html

ในตอนนี้ ถ้าเปิดหน้าเว็บนี้ขึ้นมา จะเห็นกล่อง input สำหรับกรอก username และ password กับปุ่ม Login ซึ่งเราสามารถใช้หน้าเว็บนี้ส่งข้อมูลให้ฝั่งหลังบ้านได้แล้ว แต่ว่าหน้าตาของหน้าเว็บยังไม่สวย

หน้าตาของหน้าเว็บที่ยังไม่ได้ตกแต่ง (html เพียวๆ)

ก่อนอื่นในการแต่งหน้าเว็บเราจะเขียนไฟล์ setting หรือไฟล์ config ที่ใช้เก็บค่าที่สามารถเปลี่ยนแปลงได้ไว้ก่อน (ไม่จำเป็นต้องมี แต่มีเผื่อไว้ดีกว่า เพื่อความเป็นระเบียบและง่ายตอนมาแก้ทีหลัง)

ตัวอย่างไฟล์ setting ที่มี class สำหรับ circle, button, input และ ค่าสีกับ font ที่จำเป็นเก็บไว้อยู่แล้ว

ต่อไปเป็นการตกแต่งหน้าเว็บโดยจัดให้ container อยู่ตรงกลาง ใส่ font, background image และใส่ class สำหรับตกแต่งช่อง input กับ button เข้าไป จะได้ไฟล์ scss ประมาณนี้

ไฟล์ scss สำหรับตกแต่ง index.html ที่เรียกใช้ค่าต่างๆในไฟล์ setting

แต่ตอนนี้ ในไฟล์ html เราเรียกไฟล์ master.css ไม่ใช่ index.scss เนื่องจาก html ไม่สามารถลิ้งค์เปิดไฟล์ scss ได้ เราจึงต้องสร้างไฟล์ master.scss มา เพื่อให้ gulp สร้างไฟล์ master.css ให้

ตัวอย่างไฟล์ master (แนะนำว่าควรเป็นไฟล์ที่ import ไฟล์อื่นเข้ามา ไม่ควรเขียนโค้ดปรับแต่งอะไรในนี้)

ข้อระวังคือ เราควร import ไฟล์ setting ก่อนจะ import ไฟล์ index เพราะในไฟล์ index เราใช้ค่าบางอย่างที่อยู่ในไฟล์ setting ด้วย (ไม่งั้น complier จะแจ้ง error ว่าไม่รู้จักค่าที่ไฟล์ index เรียก)

แค่นี้หน้าตาของเว็บเราก็จะสวยงามขึ้นมาทันที และการเขียนโค้ดจะง่ายและดูเป็นระเบียบมากกว่าการเขียนด้วย css มาก

ตัวอย่างการเขียนโค้ดตกแต่งหน้าเว็บเดียวกัน ให้แสดงผลแบบเดียวกันด้วย css

--

--