@tooltipColor : #383838; @arrowSize : 6px; @arrowPosition : 18px; [data-tooltip]{ .tooltip(attr(data-tooltip)); } [data-tooltip-top]{ .tooltipTop(attr(data-tooltip-top)); } [data-tooltip-bottom]{ .tooltipBottom(attr(data-tooltip-bottom)); } [data-tooltip-left]{ .tooltipLeft(attr(data-tooltip-left)); } [data-tooltip-right]{ .tooltipRight(attr(data-tooltip-right)); } .tooltip(@content){ .tooltipBottom(@content); } .tooltipTop(@content){ .tooltipBase(@content); &:before { margin-bottom : -@arrowSize * 2; border-top-color : @tooltipColor; } &:after{ margin-left: -18px; } &:before, &:after{ bottom : 100%; left : 50%; } &:hover:after, &:hover:before, &:focus:after, &:focus:before { .transform(translateY(-(@arrowSize + 2))); } } .tooltipBottom(@content){ .tooltipBase(@content); &:before { margin-top : -@arrowSize * 2; border-bottom-color : @tooltipColor; } &:after{ margin-left: -18px; } &:before, &:after{ top : 100%; left : 50%; } &:hover:after, &:hover:before, &:focus:after, &:focus:before { .transform(translateY(@arrowSize + 2)); } } .tooltipLeft(@content){ .tooltipBase(@content); &:before { margin-right : -@arrowSize * 2; margin-bottom : -@arrowSize; border-left-color : @tooltipColor; } &:after{ margin-bottom: -14px;} &:before, &:after { right : 100%; bottom : 50%; } &:hover:after, &:hover:before, &:focus:after, &:focus:before { .transform(translateX(-(@arrowSize + 2))); } } .tooltipRight(@content){ .tooltipBase(@content); &:before { margin-bottom : -@arrowSize; margin-left : -@arrowSize * 2; border-right-color : @tooltipColor; } &:after{ margin-bottom: -14px;} &:before, &:after { bottom : 50%; left : 100%; } &:hover:after, &:hover:before, &:focus:after, &:focus:before { .transform(translateX(@arrowSize + 2)); } } .tooltipShow(){ } .tooltipBase(@content){ //position: relative; &:before, &:after{ .animateAll(); position : absolute; z-index : 1000000; opacity : 0; pointer-events : none; } //Arrow &:before{ content : ''; z-index : 1000001; background : transparent; border : @arrowSize solid transparent; } //Box &:after{ content : @content; visibility : hidden; padding : 8px 10px; background : @tooltipColor; font-size : 12px; color : white; line-height : 12px; white-space : nowrap; } &:hover:before, &:hover:after { visibility : visible; opacity : 1; } }