หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Houdini ให้แน่ใจว่าคุณเข้าร่วมสร้างนิวยอร์ก (24-25 เมษายน) ในการประชุมคุณสามารถจับ Sam Richard, Enterprise Partner Engineer ที่ Google พูดคุยเกี่ยวกับวิธีที่ Houdini สามารถปรับปรุงความยืดหยุ่นพลังงานประสิทธิภาพและการบำรุงรักษารูปแบบการออกแบบได้อย่างมาก หากต้องการจองตั๋วไปจนถึงการประชุมที่ได้รับรางวัลนี้สำหรับนักออกแบบเว็บไซต์เยี่ยมชม generateconf.com .
ในฐานะนักพัฒนาบางครั้งเราใช้ CSS เพื่อรับ โดยการเปลี่ยนคุณสมบัติสองสามประการเราสามารถเปลี่ยนรูปลักษณ์ของเว็บไซต์ทั้งหมด ผู้จำหน่ายเบราว์เซอร์กำลังทำงานเป็นจำนวนมากในนามของเราเพื่อไปยังจุดนั้น
แต่เนื่องจากคุณสมบัติ CSS ใหม่ออกมาอาจใช้เวลาสักครู่จนกว่าเราจะได้ใช้สำหรับไซต์การผลิต ผู้ใช้ที่มีเบราว์เซอร์เก่าจะติดอยู่กับชุดสไตล์ที่ได้รับการปรับลดรุ่นที่เพิ่มขึ้นอย่างต่อเนื่องซึ่งดูไม่ดีเท่าที่อยู่ในเบราว์เซอร์สมัยใหม่
Houdini ถูกตั้งค่าให้เปลี่ยนทั้งหมด มันเป็นชุดของข้อมูลจำเพาะแบบร่างที่ให้นักพัฒนาสามารถเข้าถึงเวทย์มนตร์เบื้องหลังบางส่วนที่ให้ไว้โดย CSS เมื่อข้อมูลจำเพาะทั้งหมดเสร็จสมบูรณ์นักพัฒนาจะสามารถใช้ JavaScript เพื่อกำหนดวิธีการใช้งานเช่นการคำนวณแบบเลย์เอาต์และสไตล์
Houdini เป็นคอลเลกชันของ API และข้อมูลจำเพาะที่ออกแบบมาเพื่อลดแรงเสียดทานระหว่าง JavaScript และ CSS ด้วยการเปิดเผยเวทมนตร์บางอย่างที่เบราว์เซอร์ดำเนินการไปยังนักพัฒนาเราสามารถปรับเปลี่ยนหน้าเว็บที่ทำงานได้ดีที่สุดสำหรับกรณีการใช้งานเฉพาะของเรา
แก้ไขในช่วงกลางของความก้าวหน้าเหล่านี้เป็นแนวคิดของเวิร์คเกอร์ - คลาสที่มีน้ำหนักเบาและมีความพิเศษสูงมุ่งเน้นไปที่การกระทำที่เฉพาะเจาะจงเช่นภาพเคลื่อนไหว พวกเขามีความคล้ายคลึงกับ Web Workers ซึ่งดำเนินการออกไปจากด้ายหลักและทำให้หน้าตอบสนอง สิ่งเหล่านี้สามารถขยายได้ในอนาคตตามความต้องการของนักพัฒนาวิวัฒนาการ
ในขณะที่ API บางอย่างเหล่านี้ยังอยู่ในช่วงแรก ๆ ของพวกเขาหลายคนได้ลงจอดทั้งโครเมี่ยมและโอเปร่าในขณะที่ V66 และ V53 ตามลำดับ CSS Paint API ช่วยให้นักพัฒนาสามารถสร้างภาพใน JavaScript เพื่อใช้งานได้ทุกที่ที่รูปภาพจะถูกใช้ใน CSS ในขณะที่รุ่น CSS Typed Object เปิดเผยวัตถุ CSS ไปยัง JavaScript ของคุณมากกว่าเพียงแค่สตริงของคุณ การสนับสนุนใน Safari สำหรับ API เหล่านี้กำลังอยู่ในระหว่างการพัฒนา API อีกมากมายกำลังอยู่ระหว่างทางใน Chrome และ API ต่าง ๆ ของ Houdini กำลังทำงานผ่านกระบวนการสเปค W3C ด้วย API สีที่ได้รับคำแนะนำจากผู้สมัครแล้ว
ร่าง API มีการเปลี่ยนแปลงอยู่ตลอดเวลาและปัจจุบันในขณะนี้อาจไม่คล้ายกับสิ่งที่ในที่สุดในเบราว์เซอร์ จับตา ishoudinireadyyet.com เพื่ออยู่ข้างหน้าของการปรับปรุงล่าสุด
ต้องการสิ่งที่ง่ายกว่า? ลอง สร้างเว็บไซต์ . ทั้งสองทางของคุณ เว็บโฮสติ้ง บริการต้องทำงานให้คุณ
สำหรับเวลาที่เป็นเพียงแม้แต่ CSS Paint API ของ Houdini ยังสามารถบรรลุข้อตกลงได้อย่างมาก ตัวอย่างเช่นเราสามารถรวมกับมาสก์ภาพเพื่อปรับโครงสร้างองค์ประกอบตามความต้องการ
เพื่อแสดงวิธีการทำงานนี้นำทางไปยัง filesilo ในการเข้าถึงไฟล์ที่เกี่ยวข้อง (นอกจากนี้ตรวจสอบให้แน่ใจว่าสามารถเข้าถึงไฟล์ของคุณได้อย่างง่ายดายในด้านขวา การจัดเก็บเมฆ .
ก่อนที่เราจะเริ่มสร้างเวิร์คเล็ตให้ตั้งค่าเซิร์ฟเวอร์ท้องถิ่น จากนั้นเราต้องตั้งค่าหน้ากากในแต่ละภาพ ในขณะที่ต้องการคุณสมบัติ CSS ภาพหน้ากาก มันยังคงใช้คำนำหน้าใน Chrome นี่หมายความว่าเราต้องการ webkit คำนำหน้าควบคู่ไปกับมัน
เปิดออก รูปแบบ / Mask.css และอัปเดตสไตล์สำหรับ สวมหน้ากาก ชั้นเรียน ส่วนหนึ่งของผลกระทบคือการเปิดเผยภาพอย่างเต็มที่เมื่อผู้ใช้อยู่เหนือมัน เพิ่ม เปิดเผย คุณสมบัติที่กำหนดเองไปยังองค์ประกอบในตัวอย่างนั้น
.masked {
[... ]
-webkit-mask- รูปภาพ: สี (หน้ากาก);
หน้ากากภาพ: สี (หน้ากาก);
}
.Masked: โฉบ, .masked: โฟกัส {
- งาน - เปิดเผย: จริง;
}
คุณสมบัติที่กำหนดเองไม่จำเป็นต้องอยู่ในองค์ประกอบรากที่จะหยิบขึ้นมาโดย API พวกเขาสามารถนำไปใช้กับองค์ประกอบที่ถูกทาสีซึ่งจะแทนที่ตัวเลือกใด ๆ ด้วยความเฉพาะเจาะจงที่ต่ำกว่า
ตอนนี้เราจะใช้พิเศษ รูปร่างหน้ากาก คุณสมบัติที่กำหนดเองเป็นสามชั้นรูปร่าง สิ่งนี้จะบอกถึงผลการทำงานที่ทำให้เกิดการเรนเดอร์
.masked.square {
- รูปร่าง - รูปร่าง: สแควร์;
}
.masked.circle {
- รูปร่าง - รูปร่าง: วงกลม;
}
.masked.triangle {
- รูปร่าง - รูปร่าง: สามเหลี่ยม;
}
เปิด สคริปต์ / Mask.js . สิ่งนี้ได้รับการกรอกด้วยตรรกะบางอย่างเพื่อสร้างรูปร่าง เรายังต้องผูกกับชั้นเรียนที่เราเพิ่งเขียน
ที่ รูปร่างหน้ากาก คุณสมบัติที่กำหนดเองกำหนดรูปร่างที่จะใช้ เรามีวงกลมสี่เหลี่ยมหรือสามเหลี่ยมให้เลือก หากมีคนเลือกรูปร่างที่แตกต่างกันหรือไม่มีรูปร่างเลยค่าเริ่มต้นเป็นรูปวงกลม ตัดออกจากช่องว่างที่เหลือโดยการจัดรูปแบบ CSS
ให้รูปร่าง = 'วงกลม';
ถ้า (Properties.get ('- หน้ากากรูปร่าง') & amp; & amp;
['สแควร์', 'สามเหลี่ยม', 'วงกลม']
.includes (Properties.get (
'--mask-shape') toString (). ตัดแต่ง ())) {
รูปร่าง = Properties.get (
'- รูปร่างรูปร่าง') ToString () ตัดแต่ง (); }
โดยค่าเริ่มต้นหน้ากากให้โครงร่างของรูปร่างที่กำหนด เมื่อผู้ใช้อยู่เหนือพวกเขา เปิดเผย คุณสมบัติที่กำหนดเองกลายเป็นจริงดังนั้นควรกรอกรูปร่างใน
ประเภทคุณสมบัติที่กำหนดเองกำลังจะมาถึงจุดต่อมาซึ่งหมายความว่าตอนนี้ จริง ค่าจะถูกส่งผ่านเป็นสตริง จับคู่กับสตริงและตั้งค่าตัวแปรใหม่หากมีการตั้งค่า
ให้เปิดเผย = เท็จ;
ถ้า (Properties.get ('- Mask-Reveal') & amp; & amp;
Properties.get ('- Mask-Reveal')
.Tostring () ตัดแต่ง () == 'จริง') {
เปิดเผย = จริง; }
ในที่สุดเราต้องการให้รูปร่างมีความยาวเท่ากัน ซึ่งหมายความว่าเราจำเป็นต้องค้นหาความกว้างหรือความสูงที่เล็กที่สุดของภาพและใช้ความยาวนั้นเพื่อคำนวณรูปร่าง
กำหนด ความยาวสูงสุด ตัวแปรที่จะบอกส่วนที่เหลือของรหัสที่มีขนาดเท่าใดในการสร้างรูปร่าง ตั้งค่าความกว้างของบรรทัดของบริบทกับสัดส่วนของขนาดนี้เพื่อให้สิ่งต่าง ๆ ในการปรับขนาด
const maxlength =
Math.min (Geom.Width, Geom.Height);
ctx.linewidth = maxlength / 25;
บทความนี้ได้รับการตีพิมพ์ในนิตยสารออกแบบเว็บสร้างสรรค์ นักออกแบบเว็บไซต์ . สมัครสมาชิกเว็บนักออกแบบเว็บไซต์ .
สนใจเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ Houdini สามารถเพิ่ม OOMPH ให้กับการออกแบบของคุณได้อย่างไร? Sam Richard, Enterprise Partner Engineer ที่ Google จะให้ความมหัศจรรย์ของระบบการออกแบบการพูดคุยกับ Houdini ที่สร้างนิวยอร์กในวันที่ 25 เมษายนซึ่งเขาจะสอนคุณว่ามันสามารถช่วยคุณแก้ปัญหาระบบการออกแบบทั่วไปและปรับปรุงความยืดหยุ่นได้อย่างมาก ประสิทธิภาพและการบำรุงรักษาของรูปแบบเหล่านี้
สร้างนิวยอร์กวิ่งจาก 24-25 เมษายน - รับตั๋วของคุณตอนนี้ !
บทความที่เกี่ยวข้อง:
(เครดิตภาพ: Antony Ward) ความสามารถในการทำซ้ำซ้อน�..
CSS จะต้องผ่านไปป์ไลน์ที่ค่อนข้างซับซ้อนเช่นเ�..
การเพิ่มประสิทธิภาพอัตราการแปลง (CRO) เป็นกระบว�..
ความจริงเสมือนจริงไม่ใช่เรื่องใหม่ แต่มันเป�..
Adobe กำลังเปิดตัวชุดวิดีโอชุดใหม่วันนี้เรียกว่าตอนนี้ซึ่งมีวัตถุปร�..
การตัดสินใจการตัดสินใจการตัดสินใจ ... หากมีสิ่งสำคัญอย่างหนึ่งต่อกร..