สร้างแถบ ริบบิ้นด้วย CSS โดยไม่ต้องใช้รูปภาพ
แถบริบบิ้นนั้นนิยมนำมาใช้ใน Web design นานมาแล้ว แม้ว่าจะใช้วิธีสร้างใน Photoshop แล้วเซฟเป็นภาพนำไปใส่ในเว็บ HTML หรือ CSS ซึ่งจะให้เวลามาก การศึกษาวิธีการทำแถบริบบิ้นด้วย CSS โดยไม่ต้องใช้รูปภาพนั้นมีประโยชน์มาก ไม่ต้องกังวนกับปัญหาความชัดหรือขนาดของรูปที่ไม่พอดีกับเว็บไซต์ ริบบิ้น CSS นี้สามารถใช้ Gradient ต่างๆทีเปลี่ยนได้อย่างง่ายดายและมีเอฟเฟครอยเย็บตรงขอบอีกด้วย ซึ่งมีวิธีทำดังต่อไปนี้
ในส่วน HTML
สำหรับส่วน html ให้เพิ่ม Link tag นี้ ด้วยชื่อ class ที่เพิ่มเข้ามาเพื่อเรียกใช้ CSS
ตัวอย่าง Link tag สำหรับ external CSS ชื่อไฟล์ ribbon.css (ใส่ tag head)
link href="ribbon.css" rel="stylesheet" type="text/css" />
และในส่วนการเรียกใช้
A Pure CSS Ribbon
ในส่วน CSS อย่างแรกเรามี main styling ของ ริบบิ้น CSS และระบุ ความกว้างริบบ้น, text align, font family และ สีgradient ของตัวริบบิ้น
.ribbon {
width: 406px;
position: absolute;
text-align: center;
font-size: 23px!important;
background: #4c7ad4;
background: -webkit-gradient(linear, left top, left bottom, from(#4c7ad4), to(#518bd1));
background: -webkit-linear-gradient(top, #4c7ad4, #518bd1);
background: -moz-linear-gradient(top, #4c7ad4, #518bd1);
background: -ms-linear-gradient(top, #4c7ad4, #518bd1);
background: -o-linear-gradient(top, #4c7ad4, #518bd1);
background-image: -ms-linear-gradient(top, #4c7ad4 0%, #518bd1 100%);
-webkit-box-shadow: rgba(000,000,000,0.3) 0 1px 1px;
-moz-box-shadow: rgba(000,000,000,0.3) 0 1px 1px;
box-shadow: rgba(000,000,000,0.3) 0 1px 1px;
font-family: 'Helvetica Neue',Helvetica, sans-serif;
}
จากนั้นจะใส่ font styling พื้นฐานเข้าไป และจะใช้ ฟอนต์ขนาด Heading 1
.ribbon h1 {
font-size: 25px!important;
color: #ffffff;
text-shadow: #240c0c 0 1px 0;
margin:0px;
padding: 15px 10px;
}
ต่อไปจะเป็น CSS style สำหรับริบบิ้นด้านข้าง
.ribbon:before, .ribbon:after {
content: '';
position: absolute;
display: block;
bottom: -1em;
border: 1.5em solid #3a8ac7;
z-index: -1;
}
.ribbon:before {
left: -2em;
border-right-width: 1.5em;
border-left-color: transparent;
-webkit-box-shadow: rgba(000,000,000,0.4) 1px 1px 1px;
-moz-box-shadow: rgba(000,000,000,0.4) 1px 1px 1px;
box-shadow: rgba(000,000,000,0.4) 1px 1px 1px;
}
.ribbon:after {
right: -2em;
border-left-width: 1.5em;
border-right-color: transparent;
-webkit-box-shadow: rgba(000,000,000,0.4) -1px 1px 1px;
-moz-box-shadow: rgba(000,000,000,0.4) -1px 1px 1px;
box-shadow: rgba(000,000,000,0.4) -1px 1px 1px;
}
ต่อไปเราจะใส่เงาตรงรอยพับของริบบิ้นทั้งสองข้าง เราสามารถใช้ border effect เพื่อสร้างรูปทรงสามเหลี่ยม ตรงที่ :after pseudo-element โดยตั้งเป็น 0 width และ 0 height:
.ribbon .ribbon-content:before, .ribbon .ribbon-content:after {
border-color: #0a2f57 transparent transparent transparent;
position: absolute;
display: block;
border-style: solid;
bottom: -1em;
content: '';
}
.ribbon .ribbon-content:before {
left: 0;
border-width: 1em 0 0 1em;
}
.ribbon .ribbon-content:after {
right: 0;
border-width: 1em 1em 0 0;
}
สุดท้ายถ้าเราต้องการให้มีรอยเย็บ ให้ใช้ style ด้านล่างนี้ซึ่งมีเส้นขอบแบบเส้นประ ก็เป็นอันเสร็จสิ้น
.ribbon-stitches-top {
margin-top:2px;
border-top: 1px dashed rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
box-shadow: 0px 0px 2px rgba(255, 255, 255, 0.5);
}
.ribbon-stitches-bottom {
margin-bottom:2px;
border-top: 1px dashed rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);
box-shadow: 0px 0px 2px rgba(255, 255, 255, 0.3);
}