css3 - How can I create a "tooltip tail" using pure CSS? -
i came across neat css trick. check out fiddle...
.tooltiptail { display: block; border-color: #ffffff #a0c7ff #ffffff #ffffff; border-style: solid; border-width: 20px; width: 0px; height: 0px; } .anothertail { background-image: url(http://static.jqueryfordesigners.com/demo/images/coda/bubble-tail2.png); display: block; height: 29px; width: 30px; } <div>cool trick: <br /> <div class="tooltiptail"></div> </div> <br /> <div>how effect css? <br /> <div class="anothertail"></div> </div> this creates little arrow/triangle-like effect, "tooltip tail". blows mind! i'm interested in knowing how works?!
further, there way extend css trick create effect follows:

this interesting problem. can done using css, ignoring shadow now?
update 1
i figured out solution initial question. here's fiddle...
html
<div style="position: relative;">cool trick:<br /> <div class="tooltiptail"></div> <div class="tooltiptail2"></div> </div> css
.tooltiptail { display: block; border-color: #ffffff #a0c7ff #ffffff #ffffff; border-style: solid; border-width: 20px; width: 0px; height: 0px; } .tooltiptail2 { display: block; border-color: transparent #ffffff transparent transparent; border-style: solid; border-width: 18px; width: 0px; height: 0px; position: relative; left: 4px; top: -38px; } now, how mimic little picture above using pure css, including shadow , having cross-browser compatible?
update 2
here's solution after combination of answers below. haven't tested across multiple browsers, looks great in chrome.
http://jsfiddle.net/unsunghero97/mzxcj/688/
html
<div id="tooltip"> <p>i can haz css tooltip</p> <div id="tailshadow"></div> <div id="tail1"></div> <div id="tail2"></div> </div> css
#tooltip { background-color: #ffffff; border: 1px solid #73a7f0; width: 200px; height: 100px; margin-left: 32px; position:relative; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; box-shadow: 0px 0px 8px -1px black; -moz-box-shadow: 0px 0px 8px -1px black; -webkit-box-shadow: 0px 0px 8px -1px black; } #tooltip p { padding:10px; } #tailshadow { background-color: transparent; width: 4px; height: 4px; position: absolute; top: 16px; left: -8px; z-index: -10; box-shadow: 0px 0px 8px 1px black; -moz-box-shadow: 0px 0px 8px 1px black; -webkit-box-shadow: 0px 0px 8px 1px black; } #tail1 { width: 0px; height: 0px; border: 10px solid; border-color: transparent #73a7f0 transparent transparent; position:absolute; top: 8px; left: -20px; } #tail2 { width: 0px; height: 0px; border: 10px solid; border-color: transparent #ffffff transparent transparent; position:absolute; left: -18px; top: 8px; }
here's example box-shadow, latest version browsers should support this
html:
<div id="tooltip"> <p>i can haz css tooltip</p> <div id="tailshadow"></div> <div id="tail1"></div> <div id="tail2"></div> </div> css:
body {font-family:helvetica,arial,sans-serif;} #tooltip { position:relative; } #tooltip p { padding:10px; background-color:#f9f9f9; border:solid 1px #a0c7ff; -moz-border-radius:5px;-ie-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;border-radius:5px; } #tailshadow { position:absolute; bottom:-8px; left:28px; width:0;height:0; border:solid 2px #fff; box-shadow:0 0 10px 1px #555; } #tail1 { position:absolute; bottom:-20px; left:20px; width:0;height:0; border-color:#a0c7ff transparent transparent transparent; border-width:10px; border-style:solid; } #tail2 { position:absolute; bottom:-18px; left:20px; width:0;height:0; border-color:#f9f9f9 transparent transparent transparent; border-width:10px; border-style:solid; } body { font-family: helvetica, arial, sans-serif; } #tooltip { position: relative; } #tooltip p { padding: 10px; background-color: #f9f9f9; border: solid 1px #a0c7ff; -moz-border-radius: 5px; -ie-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; } #tailshadow { position: absolute; bottom: -8px; left: 28px; width: 0; height: 0; border: solid 2px #fff; box-shadow: 0 0 10px 1px #555; } #tail1 { position: absolute; bottom: -20px; left: 20px; width: 0; height: 0; border-color: #a0c7ff transparent transparent transparent; border-width: 10px; border-style: solid; } #tail2 { position: absolute; bottom: -18px; left: 20px; width: 0; height: 0; border-color: #f9f9f9 transparent transparent transparent; border-width: 10px; border-style: solid; } <div id="tooltip"> <p>i can haz css tooltip</p> <div id="tailshadow"></div> <div id="tail1"></div> <div id="tail2"></div> </div>
Comments
Post a Comment