UNPKG

wise-web-client

Version:

Based on Spine MVC framework

111 lines (107 loc) 3.22 kB
/* ------------------------ */ /* LESS mixin for CSS arrow */ /* ------------------------ */ /* Usage * .arrow(size, color, direction, offset, border-size, border-color); */ /* Where * Size is the with of the arrow * Color is the color of the arrow (plain color required) * Direction is the orientation of the arrow (top, right, bottom, left) * Offset is the position of the arrow on its axis (px / em) * Border-size is the width of the border if there is one (optional; default "0") * Border-color is the color of the border if there is one (optional; default "inherit"); */ /* Extra * Drop-shadows can be used on the element to create a shadow on the arrow as well */ .arrow(@size, @color, @direction, @offset, @border-size:0, @border-color:inherit) { position: relative; &:after, &:before { content: ""; position: absolute; width: 0; height: 0; } } .arrow(@size, @color, @direction, @offset, @border-size:0, @border-color:inherit) when (@direction = top) { @m-size: @size + (@border-size*2); &:after { bottom: 100%; left: @offset; margin-left: -@size; border-left: @size solid transparent; border-right: @size solid transparent; border-bottom: @size solid @color; } &:before { bottom: 100%; left: @offset; margin-left: -@m-size; border-left: @m-size solid transparent; border-right: @m-size solid transparent; border-bottom: @m-size solid; border-bottom-color: @border-color; } } .arrow(@size, @color, @direction, @offset, @border-size:0, @border-color:inherit) when (@direction = bottom) { @m-size: @size + (@border-size*2); &:after { top: 100%; left: @offset; margin-left: -@size; border-left: @size solid transparent; border-right: @size solid transparent; border-top: @size solid @color; } &:before { top: 100%; left: @offset; margin-left: -@m-size; border-left: @m-size solid transparent; border-right: @m-size solid transparent; border-top: @m-size solid; border-top-color: @border-color; } } .arrow(@size, @color, @direction, @offset, @border-size:0, @border-color:inherit) when (@direction = right) { @m-size: @size + (@border-size*2); &:after { left: 100%; top: @offset; margin-top: -@size; border-top: @size solid transparent; border-bottom: @size solid transparent; border-left: @size solid @color; } &:before { left: 100%; top: @offset; margin-top: -@m-size; border-top: @m-size solid transparent; border-bottom: @m-size solid transparent; border-left: @m-size solid; border-left-color: @border-color; } } .arrow(@size, @color, @direction, @offset, @border-size:0, @border-color:inherit) when (@direction = left) { @m-size: @size + (@border-size*2); &:after { right: 100%; top: @offset; margin-top: -@size; border-top: @size solid transparent; border-bottom: @size solid transparent; border-right: @size solid @color; } &:before { right: 100%; top: @offset; margin-top: -@m-size; border-top: @m-size solid transparent; border-bottom: @m-size solid transparent; border-right: @m-size solid; border-right-color: @border-color; } }