โอเวอร์เลย์เป็นเอฟเฟกต์ที่ใช้บนเว็บไซต์เพื่อนำทางผู้ใช้ไปยังทิศทางที่ถูกต้องของการดำเนินการถัดไปที่พวกเขาต้องทำ การใช้งานที่ถูกต้องสามารถสร้างประสบการณ์ที่ดีแก่ผู้ใช้ ซึ่งจะทำให้ผู้ใช้อยู่ในเว็บไซต์ของคุณ
มีหลายวิธีในการสร้างภาพซ้อนทับ ไม่มีวิธีใดที่ถูกต้อง อยู่ที่การเลือกวิธีที่ดีที่สุดสำหรับไซต์ของคุณและสิ่งที่คุณต้องการ
ในคู่มือนี้ เราจะเน้นที่การใช้ HTML และ CSS พื้นฐาน (ไม่มี JavaScript) เพื่อให้ได้เอฟเฟกต์การวางซ้อนที่คุณต้องการเมื่อวางเมาส์เหนือรูปภาพ
ปิดกั้น HTML ของคุณ
มาสร้างต้นแบบ HTML ของคุณที่จะใช้เพื่อสร้างภาพซ้อนทับของเรา:
<html> <head> <style> /*No CSS to display yet*/ </style> </head> <body> <div class="container" ></div> </body> </html>
เข้าใจปัญหา
เมื่อลองทำสิ่งใหม่ ๆ ในครั้งแรก คุณควรนั่งลงและคิดว่าควรแก้ปัญหาอย่างไรก่อนที่จะปรึกษาเครื่องมือค้นหา เมื่อคุณมีความเข้าใจอย่างถ่องแท้เกี่ยวกับวิธีการทำงานของโอเวอร์เลย์และสิ่งที่เราต้องทำ คุณจะโชคดียิ่งขึ้นในการมองหาคำแนะนำและเคล็ดลับ หากจำเป็น
โดยสรุป โอเวอร์เลย์จะทับคอนเทนเนอร์ (ในตัวอย่างของเราคือ รูปภาพ) และทำบางสิ่งกับรูปภาพเมื่อเราวางเมาส์เหนือคอนเทนเนอร์ สิ่งนี้ชี้นำผู้ใช้ให้โต้ตอบกับไซต์
ก้าวไปข้างหน้า คิดภาพรวม อย่าพยายามกรอกรายละเอียดทุกนาทีว่าต้องทำอย่างไร เรามีรูปภาพและเรามีโอเวอร์เลย์ นั่นคือคอนเทนเนอร์อย่างน้อยสองคอนเทนเนอร์ และภาชนะทั้งสองนั้นต้องอยู่ในภาชนะที่ใหญ่กว่า
อย่าเพิ่งพยายามจัดรูปแบบอะไร – ทำงานบน HTML และเขียนโค้ดเท่านั้น ดูว่าคุณสามารถบล็อกมันได้หรือไม่ก่อนที่จะดูที่มาร์กอัปด้านล่าง:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
<html> <head> <style> /*No CSS to display yet*/ </style> </head> <body> <div class="container" > <div class="overlay-outer> <img class="item-to-overlay" src="file-here" alt="this-is-our-image" /> <div class="overlay-inner"> This is our overlay div. </div> </div> </div> </body> </html>
เมื่อเราหาบล็อคหลักได้แล้ว เราก็สามารถจัดสไตล์ได้ ฉันชอบเริ่มต้นจากภายนอก/ภาชนะที่ใหญ่กว่าและทำงานในภาชนะที่เล็กกว่า ช่วยติดตามความกว้างที่แท้จริงของคอนเทนเนอร์ คุณอาจพบว่าคุณต้องการเริ่มต้นจากภายในและพยายามหาทางออก ซึ่งก็ไม่เป็นไรเช่นกัน ติดตามไปพร้อมกับฉันด้านล่าง
ร่างกาย
เริ่มจากภายนอกและเข้าไปข้างใน เรามาที่แท็ก body ก่อน ซึ่งเป็นคอนเทนเนอร์ที่ใหญ่ที่สุดในเพจและถือเพจของเรา คุณสามารถกำหนดสีพื้นหลัง ระยะขอบ และความกว้างและความกว้างสูงสุดของแอปพลิเคชันได้ที่นี่:
<style>
body {
background-color: gray;
max-width: 800px;
width: 100%;
}
</style>
Div.คอนเทนเนอร์
คอนเทนเนอร์ต่อไปที่เรามาถึงคือ div แรกของเรา อันนี้ค่อนข้างตรงไปตรงมา เราแค่ต้องการให้ความกว้างเป็น 100%
<style>
body {
background-color: gray;
max-width: 800px;
width: 100%;
margin: 0 auto;
}
div.container {
width: 100%;
}
</style>
Div.overlay-outer
เมื่อเราดำดิ่งสู่มาร์กอัป <div> . ถัดไป เรามาเป็นที่หนึ่งที่มี class=”overlay-outer” . นี่คือจุดที่เราต้องเริ่มคิดเกี่ยวกับสไตล์ของโอเวอร์เลย์ของเรา
สิ่งแรกที่เราต้องทำคือกำหนดคำจำกัดความสำหรับคอนเทนเนอร์ที่จะใส่รูปภาพและโอเวอร์เลย์ เราต้องการให้คอนเทนเนอร์โอเวอร์เลย์ใช้ความกว้างของหน้าเว็บเท่าใด แล้วส่วนสูงล่ะ? นี่ก็เป็น <div> ที่ซึ่งเราจำเป็นต้องสร้าง "รั้ว" ของเราสำหรับภาพลักษณ์ของเรา ดังนั้นเราต้องเพิ่มคุณสมบัติตำแหน่งให้กับองค์ประกอบ:
<style>
body {
background-color: gray;
max-width: 800px;
width: 100%;
margin: 0 auto;
}
div.container {
width: 100%;
}
div.overlay-outer {
width: 50%;
height: 400px;
position: relative;
}
div.
</style>
CSS Overlay รวมหลายสิ่งที่เราได้เรียนรู้จนถึงตอนนี้ใน CSS:การวางตำแหน่ง, สีพื้นหลัง, ความทึบ, ความพอดีของวัตถุและ divs หลังจากจัดสไตล์คอนเทนเนอร์โอเวอร์เลย์ด้านนอกแล้ว เราต้องดูที่รูปภาพและคอนเทนเนอร์โอเวอร์เลย์ด้านใน
ไอจี
อิลิเมนต์รูปภาพต้องตรงกับความกว้างและความสูงของคอนเทนเนอร์ที่ติดตั้งอยู่ นี่ยังเป็นที่สำหรับใส่เส้นขอบหากต้องการ และครอบตัดรูปภาพของคุณ
Div.ทับซ้อนด้านใน
การซ้อนทับภายใน <div> และรูปแบบที่เกี่ยวข้องกับรูปลักษณ์ที่แท้จริงของภาพซ้อนทับ นี่คือที่ที่คุณจะเลือกสีพื้นหลังสำหรับโอเวอร์เลย์ ตั้งค่าความทึบเป็น 0 ที่สำคัญที่สุด เราต้องเพิ่ม position: absolute, top: 0 and left: 0 เพื่อให้ div ซ้อนทับภายในจะตั้งอยู่บน <div> ที่ถูกตั้งค่าเป็นตำแหน่ง:ญาติ
Div.overlay-inner p
ที่นี่เราจัดรูปแบบเนื้อหาจริงของคอนเทนเนอร์โอเวอร์เลย์
Div.overlay-outer:hover .overlay-inner
สุดท้าย เราจะวาง :hover pseudo-class บนคอนเทนเนอร์โอเวอร์เลย์ภายนอกของเรา เพื่อให้โอเวอร์เลย์แสดงเมื่อเราวางเมาส์เหนือมัน:
.outside:hover .inside {
opacity: .8;
transition: opacity .5s;
}
การตั้งค่าความทึบระหว่าง 0 ถึง 1 ช่วยให้สีพื้นหลังที่กำหนดให้กับ div การซ้อนทับด้านในเป็นแบบโปร่งแสง คุณสมบัติการเปลี่ยนแปลงทำให้การเปลี่ยนจากความทึบ 0 เป็นความทึบ 8 เป็นไปอย่างราบรื่น
ตอนนี้คุณสร้างโอเวอร์เลย์ CSS สำเร็จแล้ว ยินดีด้วย!
การใช้ CSS และ HTML เป็นวิธีการหนึ่งในการสร้างโอเวอร์เลย์สำหรับองค์ประกอบ สำหรับโซลูชันนี้ เราใช้คุณสมบัติหลายอย่างจาก CSS เพื่อช่วย:การเปลี่ยนแปลง ตำแหน่ง ความพอดีของวัตถุ ความกว้าง ความสูง และอื่นๆ
ในบทความนี้ เรายังได้เรียนรู้วิธีแก้ไขปัญหา วิธีบล็อก HTML และวิธีการจัดรูปแบบ CSS สำหรับเอฟเฟกต์ภาพซ้อนทับของเรา ในตัวแก้ไขโค้ดด้านล่างเป็นตัวอย่างการทำงานของประเด็นต่างๆ ที่กล่าวถึงในที่นี้:
<html>
<head>
<style>
* {
box-sizing: border-box;
}
body {
background: grey;
max-width: 800px;
height: 1000px;
}
.outside {
width: 75%;
height: 400px;
display: inline-block;
position: relative;
cursor: pointer;
}
.images {
width: 100%;
height: 400px;
object-fit: cover;
border: 5px double black;
}
.inside {
background-color: #9c1203;
height: 100%;
width: 100%;
opacity: 0;
top: 0;
left: 0;
position: absolute;
padding: 0;
}
.inside p {
color: #fff;
line-height: 150px;
font-family: 'arial';
padding: 20px;
text-align: left;
}
.outside:hover .inside {
opacity: .8;
transition: opacity .5s;
}
</style>
</head>
<body>
<div class="container" >
<h1>CSS Overlay</h1>
<div class="overlay-outer>
<img class="images" src="https://images.unsplash.com/photo-1548630826-2ec01a41f48f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3367&q=80" /> alt="this-is-our-image" />
<div class="overlay-inner">
<p>This is an overlay!</p>
</div>
</div>
</div>
</body>
</html>
ใช้เวลาในการเล่นกับมาร์กอัปเพื่อดูว่าคุณสามารถสร้างโอเวอร์เลย์นี้ในเวอร์ชันของคุณเองได้หรือไม่