Create a Stylish Callout Box with CSS
I recently needed to create a callout box using only CSS. I was able to do this using the css :before and :after Pseudo-elements. The trick was adding the border color to the side I wanted the triangle to point towards. Here is the CSS.
#comment{ position: relative; padding: 10px; width: 150px; height: 150px; background-color: #F0F0F0; border: 1px solid #D0D0D0; -webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); } #comment:after, #comment:before { border: solid transparent; content: ' '; height: 0; position: absolute; width: 0; } #comment:after { border-color: rgba(240, 240, 240, 0); border-bottom-color: #F0F0F0;//Change this to change direction of triangle border-width: 9px; top: -18px; left: 7px; } #comment:before { border-color: rgba(208, 208, 208, 0); border-bottom-color: #D0D0D0;//Change this to change direction of triangle border-width: 10px; top: -20px; left: 6px; }
Here is a fiddle that shows what this produces. I also found this great resource online that mimics what I am producing here.
I actually liked Simon's approach to this and thought it was worth writing down his code for future reference. Just in case his site is ever taken down.
.arrow_box { position: relative; background: #88b7d5; border: 4px solid #c2e1f5; } .arrow_box:after, .arrow_box:before { bottom: 100%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } .arrow_box:after { border-color: rgba(136, 183, 213, 0); border-bottom-color: #88b7d5; border-width: 30px; left: 50%; margin-left: -30px; } .arrow_box:before { border-color: rgba(194, 225, 245, 0); border-bottom-color: #c2e1f5; border-width: 36px; left: 50%; margin-left: -36px; }
No comments:
Post a Comment