nav-main new hover for icons

This commit is contained in:
Silke Pisulla 2017-01-10 14:46:56 +01:00
commit 52928b7b4e
3 changed files with 941 additions and 905 deletions

View file

@ -1,278 +1,284 @@
/** /**
* This file provides the design styles for the sidebar (navmain). * This file provides the design styles for the sidebar (navmain).
* *
* @author Jana Deutschlaender <deutschlaender@cosmocode.de> * @author Jana Deutschlaender <deutschlaender@cosmocode.de>
*/ */
#dokuwiki__aside.main-sidebar { #dokuwiki__aside.main-sidebar {
counter-reset: nav-counter; counter-reset: nav-counter;
/* + + + + + nav main + + + + + */
.nav-main { /* + + + + + nav main + + + + + */
padding-bottom: 1.8rem; .nav-main {
> ul {
> ul { @icon-size: 2rem;
@icon-size: 2rem;
margin: 0 0 1.8rem;
margin: 0; padding: 0;
padding: 0;
ul {
ul { margin-left: (@icon-size + .5);
margin-left: (@icon-size + .5); }
}
li {
li { list-style-type: none;
list-style-type: none; color: @color-nav;
color: @color-nav;
&:first-of-type {
&:first-of-type { padding-top: .3em;
padding-top: .3em; }
} }
}
.li {
.li { a {
a { display: list-item;
display: list-item; list-style-type: square;
list-style-type: square; color: @color-nav;
color: @color-nav; font-weight: normal;
font-weight: normal; padding-top: .1em;
padding-top: .1em; padding-bottom: .1em;
padding-bottom: .1em; transition: @transition color;
transition: @transition color;
&:hover,
&:hover, &:focus,
&:focus, &:active {
&:active { color: @button_background;
color: @button_background; }
} }
} }
}
/* + + + first level + + + */
/* + + + first level + + + */ > li {
> li { counter-increment: nav-counter;
counter-increment: nav-counter; position: relative;
position: relative; list-style-type: none;
list-style-type: none; margin: 0;
margin: 0; padding: 0 0 .3em;
padding: 0 0 .3em;
&:not(:last-of-type)::after {
&:not(:last-of-type)::after { content: '';
content: ''; position: absolute;
position: absolute; left: 0;
left: 0; bottom: 0;
bottom: 0; display: block;
display: block; width: 100%;
width: 100%; height: 1px;
height: 1px; background-color: @color-border;
background-color: @color-border; }
}
> .li {
> .li { position: relative;
position: relative; z-index: 1;
z-index: 1; margin-top: -1px;
margin-top: -1px; padding: .5em 0 .5em (@icon-size + 1);
padding: .5em 0 .5em (@icon-size + 1);
&[class="li"] {
&[class="li"] { border-bottom: solid 1px @color-border;
border-bottom: solid 1px @color-border; }
}
&::before {
&::before { .display-flex();
content: counter(nav-counter); .flex-direction();
position: absolute; .justify-content();
top: 0;
left: 0; content: counter(nav-counter);
display: flex; position: absolute;
display: -webkit-flex; top: 0;
flex-direction: column; left: 0;
-webkit-flex-direction: column; height: 100%;
justify-content: center; width: 2.5rem;
-webkit-justify-content: center; overflow: hidden;
height: 100%; color: @color-nav;
width: @icon-size; text-align: center;
overflow: hidden; margin-top: auto;
color: @color-nav; margin-bottom: auto;
text-align: center; }
margin-top: auto;
margin-bottom: auto; &::after {
} content: '';
position: absolute;
&::after { top: 15%;
content: ''; bottom: 15%;
position: absolute; width: 1px;
top: 15%; left: (@icon-size + .5);
bottom: 15%; background-color: @color-border;
width: 1px; }
left: (@icon-size + .5);
background-color: @color-border; &.opened,
} &.closed {
padding: 0;
&.opened,
&.closed { &::before,
padding: 0; &::after {
display: none;
&::before, }
&::after {
display: none; a {
} position: relative;
display: block;
a { border: 1px solid transparent;
position: relative; border-radius: 2px;
display: block; margin-bottom: -.3rem;
border: 1px solid transparent; padding: .6em 0 .6em (@icon-size + 1);
border-radius: 2px; transition: @transition color, @transition background-color, @transition border-color;
margin-bottom: -.3rem;
padding: .6em 0 .6em (@icon-size + 1); &::before {
transition: @transition color, @transition background-color, @transition border-color; .display-flex();
.flex-direction();
&::before { .justify-content();
content: counter(nav-counter);
position: absolute; content: counter(nav-counter);
top: -.1em; position: absolute;
left: 0; top: 1px;
display: flex; bottom: 1px;
display: -webkit-flex; left: 0;
flex-direction: column; height: 100%;
-webkit-flex-direction: column; width: 2.5rem;
justify-content: center; overflow: hidden;
-webkit-justify-content: center; color: @color-nav;
height: 100%; text-align: center;
width: @icon-size; margin-top: auto;
overflow: hidden; margin-bottom: auto;
color: @color-nav; transition: @transition color, @transition background-color;
text-align: center; }
margin-top: auto;
margin-bottom: auto; &::after {
transition: @transition color; content: '';
} position: absolute;
top: 15%;
&::after { bottom: 15%;
content: ''; width: 1px;
position: absolute; left: (@icon-size + .5);
top: 15%; background-color: @color-border;
bottom: 15%; transition: @transition background-color;
width: 1px; }
left: (@icon-size + .5);
background-color: @color-border; &:hover,
transition: @transition background-color; &:focus,
} &:active {
background-color: @button_color;
&:hover, border-color: @button_background;
&:focus, color: @button_background;
&:active { text-decoration: none;
background-color: @button_color;
border-color: @button_background; &::before {
color: @button_background; color: @button_background;
text-decoration: none; }
&::before { &::after {
color: @button_background; background-color: @button_background;
} }
}
&::after { }
background-color: @button_background; }
}
} &.opened {
} a {
} background-color: @button_background;
color: @button_color;
&.opened {
a { &::before {
background-color: @button_background; background-color: @color-site-bg;
color: @button_color; }
&::before { &::after {
color: @button_color; display: none;
} }
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
background-color: @button_color; background-color: @button_color;
border-color: @button_background; border-color: @button_background;
color: @button_background; color: @button_background;
text-decoration: none; text-decoration: none;
&::before { &::before {
color: @button_background; background-color: @button_color;
} color: @button_background;
} }
}
&::after {
+ ul { display: block;
margin-top: .5em; background-color: @button_background;
margin-bottom: .25em; }
} }
} }
+ ul { + ul {
height: auto; margin-top: .5em;
overflow: hidden; margin-bottom: .25em;
} }
}
&.closed + ul {
height: 0; + ul {
} height: auto;
} overflow: hidden;
} }
}
} &.closed + ul {
} height: 0;
}
}
/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ }
/* min-width: 1440px */ }
}
@media @screen_min-xlg { }
#dokuwiki__aside.main-sidebar {
.nav-main {
.li { /* + + + + + + + + + + + + + + + + + + + + + + + + + + */
font-size: .8rem; /* min-width: 1440px */
padding: .1em 0;
@media @screen_min-xlg {
* { #dokuwiki__aside.main-sidebar {
font-size: inherit; .nav-main {
font-weight: inherit; .li {
} font-size: .8rem;
} padding: .1em 0;
> ul > li > .li { * {
font-size: .9rem; font-size: inherit;
font-weight: inherit;
* { }
font-size: inherit; }
}
} > ul > li > .li {
} font-size: .9rem;
}
} * {
font-size: inherit;
}
/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ }
/* max-width: 1199px */ }
}
@media @screen_max-xlg { }
#dokuwiki__aside.main-sidebar {
.nav-main {
.li { /* + + + + + + + + + + + + + + + + + + + + + + + + + + */
font-size: .9rem; /* max-width: 1199px */
padding: .15em 0 .15em .25rem;
@media @screen_max-xlg {
* { #dokuwiki__aside.main-sidebar {
font-size: inherit; .nav-main {
font-weight: inherit; .li {
} font-size: .9rem;
} padding: .15em 0 .15em .25rem;
> ul > li > .li { * {
font-size: 1rem; font-size: inherit;
font-weight: inherit;
> * { }
font-size: inherit; }
}
} > ul > li > .li {
} font-size: 1rem;
}
} > * {
font-size: inherit;
}
}
}
}
}

View file

@ -1,331 +1,338 @@
/** /**
* This file provides the design styles for the sitetools (nav). * This file provides the design styles for the sitetools (nav).
* *
* @author Jana Deutschlaender <deutschlaender@cosmocode.de> * @author Jana Deutschlaender <deutschlaender@cosmocode.de>
*/ */
.side-tools.main-sidebar { .side-tools.main-sidebar {
@icon-size: 2rem; @icon-size: 2rem;
counter-increment: bar-counter; counter-increment: bar-counter;
ul, ul,
.trace { .trace {
padding-left: (@icon-size + .5); padding-left: (@icon-size + .5);
} }
ul { ul {
border-bottom: 1px solid @color-border; border-bottom: 1px solid @color-border;
} }
li { li {
list-style-type: none; list-style-type: none;
a { a {
display: list-item; display: list-item;
list-style-type: square; list-style-type: square;
color: @color-nav; color: @color-nav;
padding-top: .1em; padding-top: .1em;
padding-bottom: .1em; padding-bottom: .1em;
transition: @transition color; transition: @transition color;
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {
color: @button_background; color: @button_background;
} }
} }
&:first-of-type { &:first-of-type {
padding-top: .3em; padding-top: .3em;
} }
} }
> nav { > nav {
> ul { > ul {
margin: 0; margin: 0;
padding: 0 0 0 (@icon-size + .5); padding: 0 0 0 (@icon-size + .5);
li { li {
list-style-type: none; list-style-type: none;
color: @color-nav; color: @color-nav;
&:first-of-type { &:first-of-type {
padding-top: .3em; padding-top: .3em;
} }
} }
} }
} }
/* + + + + + headlines for linklists + + + + + */ /* + + + + + headlines for linklists + + + + + */
h6 { h6 {
position: relative; position: relative;
width: auto; width: auto;
height: auto; height: auto;
color: @color-nav; color: @color-nav;
font-weight: normal; font-weight: normal;
padding: .5em 0 .5em (@icon-size + 1.1); padding: .5em 0 .5em (@icon-size + 1.1);
&[class="sr-only"] { &[class="sr-only"] {
border-bottom: solid 1px @color-border; border-bottom: solid 1px @color-border;
} }
* { * {
color: inherit; color: inherit;
} }
/* + + + icon + + + */ /* + + + icon + + + */
&::before { &::before {
content: counter(bar-counter, lower-alpha); .display-flex();
position: absolute; .flex-direction();
top: 0; .justify-content();
left: 0;
display: flex; content: counter(bar-counter, lower-alpha);
display: -webkit-flex; position: absolute;
flex-direction: column; top: 0;
-webkit-flex-direction: column; left: 0;
justify-content: center; height: 100%;
-webkit-justify-content: center; width: 2.5rem;
height: 100%; overflow: hidden;
width: @icon-size; text-align: center;
overflow: hidden; margin-top: auto;
text-align: center; margin-bottom: auto;
margin-top: auto; }
margin-bottom: auto;
}
/* + + + line bottom + + + */
&::after {
/* + + + line bottom + + + */ content: '';
&::after { position: absolute;
content: ''; top: 15%;
position: absolute; bottom: 15%;
top: 15%; width: 1px;
bottom: 15%; left: (@icon-size + .6);
width: 1px; background-color: @color-border;
left: (@icon-size + .6); transition: @transition background-color;
background-color: @color-border; }
transition: @transition background-color;
} + ul,
+ div {
+ ul, height: auto;
+ div { overflow: hidden;
height: auto; }
overflow: hidden;
}
/* + + + toggle + + + */
&.opened,
/* + + + toggle + + + */ &.closed {
&.opened, padding: 0;
&.closed {
padding: 0; &::before,
&::after {
&::before, display: none;
&::after { }
display: none;
} a {
position: relative;
a { display: block;
position: relative; border: 1px solid transparent;
display: block; border-radius: 2px;
border: 1px solid transparent; padding: .6em 0 .6em (@icon-size + 1);
border-radius: 2px; transition: @transition color, @transition background-color, @transition border-color;
padding: .6em 0 .6em (@icon-size + 1);
transition: @transition color, @transition background-color, @transition border-color; &::before {
.display-flex();
&::before { .flex-direction();
content: counter(bar-counter, lower-alpha); .justify-content();
position: absolute;
top: -.1em; content: counter(bar-counter, lower-alpha);
left: 0; position: absolute;
display: flex; top: 1px;
display: -webkit-flex; bottom: 1px;
flex-direction: column; left: 0;
-webkit-flex-direction: column; height: 100%;
justify-content: center; width: 2.5rem;
-webkit-justify-content: center; overflow: hidden;
height: 100%; color: @color-nav;
width: @icon-size; text-align: center;
overflow: hidden; margin-top: auto;
color: @color-nav; margin-bottom: auto;
text-align: center; transition: @transition color;
margin-top: auto; }
margin-bottom: auto;
transition: @transition color; &::after {
} content: '';
position: absolute;
&::after { top: 15%;
content: ''; bottom: 15%;
position: absolute; width: 1px;
top: 15%; left: (@icon-size + .5);
bottom: 15%; background-color: @color-border;
width: 1px; transition: @transition background-color;
left: (@icon-size + .5); }
background-color: @color-border;
transition: @transition background-color; &:hover,
} &:focus,
&:active {
&:hover, background-color: @button_color;
&:focus, border-color: @button_background;
&:active { color: @button_background;
background-color: @button_color; text-decoration: none;
border-color: @button_background;
color: @button_background; &::before {
text-decoration: none; color: @button_background;
}
&::before {
color: @button_background; &::after {
} background-color: @button_background;
}
&::after { }
background-color: @button_background; }
} }
}
} &.opened {
} a {
background-color: @button_background;
&.opened { color: @button_color;
a {
background-color: @button_background; &::before {
color: @button_color; background-color: @color-site-bg;
}
&::before {
color: @button_color; &::after {
} display: none;
}
&:hover,
&:focus, &:hover,
&:active { &:focus,
background-color: @button_color; &:active {
border-color: @button_background; background-color: @button_color;
color: @button_background; border-color: @button_background;
text-decoration: none; color: @button_background;
text-decoration: none;
&::before {
color: @button_background; &::before {
} background-color: @button_color;
} color: @button_background;
} }
+ ul, &::after {
+ div { display: block;
height: auto; background-color: @button_background;
overflow: hidden; }
} }
}
+ ul {
margin-top: .5em; + ul,
padding-bottom: .4rem; + div {
} height: auto;
} overflow: hidden;
}
&.closed {
+ ul, + ul {
+ div { margin-top: .5em;
height: 0; padding-bottom: .4rem;
} }
} }
}
&.closed {
+ ul,
/* + + + + + f.i. trace + + + + + */ + div {
p { height: 0;
max-height: 6rem; }
overflow-y: auto; }
background-color: @color-content-bg; }
border: 1px solid @button_background;
border-radius: 2px;
font-size: .8rem; /* + + + + + f.i. trace + + + + + */
margin-top: .1rem; p {
padding: .3rem .6em; max-height: 6rem;
overflow-y: auto;
* { background-color: @color-content-bg;
font-size: inherit; border: 1px solid @button_background;
} border-radius: 2px;
font-size: .8rem;
.bchead { margin-top: .1rem;
display: none; padding: .3rem .6em;
}
* {
.bcsep { font-size: inherit;
float: left; }
clear: both;
display: block; .bchead {
width: 3%; display: none;
vertical-align: top; }
color: @color-link;
padding-top: .3em; .bcsep {
} float: left;
clear: both;
.breadcrumbs { display: block;
border: 0 none; width: 3%;
padding: 0; vertical-align: top;
margin: 0; color: @color-link;
} padding-top: .3em;
}
bdi {
display: block; .breadcrumbs {
float: left; border: 0 none;
width: 94%; padding: 0;
line-height: 125%; margin: 0;
padding: .1rem 0; }
margin-left: 2%;
} bdi {
display: block;
a { float: left;
cursor: pointer; width: 94%;
} line-height: 125%;
} padding: .1rem 0;
} margin-left: 2%;
}
/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ a {
/* min-width: 1440px */ cursor: pointer;
}
@media @screen_min-xlg { }
.side-tools.main-sidebar { }
h6 {
font-size: .9rem;
/* + + + + + + + + + + + + + + + + + + + + + + + + + + */
* { /* min-width: 1440px */
font-size: inherit;
} @media @screen_min-xlg {
} .side-tools.main-sidebar {
h6 {
li { font-size: .9rem;
font-size: .8rem;
padding: .1em 0 .1em .1rem; * {
font-size: inherit;
> * { }
font-size: inherit; }
}
} li {
} font-size: .8rem;
} padding: .1em 0 .1em .1rem;
> * {
/* + + + + + + + + + + + + + + + + + + + + + + + + + + */ font-size: inherit;
/* max-width: 1439px */ }
}
@media @screen_max-xlg { }
.side-tools.main-sidebar { }
h6 {
font-size: 1rem;
} /* + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* max-width: 1439px */
li {
font-size: .9rem; @media @screen_max-xlg {
padding: .15em 0 .15em .23rem; .side-tools.main-sidebar {
h6 {
> * { font-size: 1rem;
font-size: inherit; }
}
} li {
font-size: .9rem;
p { padding: .15em 0 .15em .23rem;
font-size: .9rem;
} > * {
} font-size: inherit;
} }
}
p {
font-size: .9rem;
}
}
}

View file

@ -1,296 +1,319 @@
/** /**
* This file provides less mixins for all other style modules * This file provides less mixins for all other style modules
* *
* @author Jana Deutschlaender <deutschlaender@cosmocode.de> * @author Jana Deutschlaender <deutschlaender@cosmocode.de>
*/ */
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Fonts */ /* Fonts */
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
.setLocalFontFace(@fontFamily,@fontWeight,@localFontName,@localFontNameVar,@filename) { .setLocalFontFace(@fontFamily,@fontWeight,@localFontName,@localFontNameVar,@filename) {
@font-face { @font-face {
font-family: @fontFamily; font-family: @fontFamily;
font-style: normal; font-style: normal;
font-weight: @fontWeight; font-weight: @fontWeight;
src: ~"local('@{localFontName}'), local('@{localFontNameVar}'), url(fonts/@{filename}.eot)"; src: ~"local('@{localFontName}'), local('@{localFontNameVar}'), url(fonts/@{filename}.eot)";
src: ~"url(fonts/@{filename}.eot?#iefix) format('embedded-opentype'), url(fonts/@{filename}.woff) format('woff')"; src: ~"url(fonts/@{filename}.eot?#iefix) format('embedded-opentype'), url(fonts/@{filename}.woff) format('woff')";
} }
} }
.setIconFontFace(@fontFamily,@filename) { .setIconFontFace(@fontFamily,@filename) {
@font-face { @font-face {
font-family: @fontFamily; font-family: @fontFamily;
src: ~"url('fonts/icons/@{filename}.eot?6762325')"; src: ~"url('fonts/icons/@{filename}.eot?6762325')";
src: ~"url('fonts/icons/@{filename}.eot?6762325#iefix') format('embedded-opentype'), url('fonts/icons/@{filename}.woff2?6762325') format('woff2'), url('fonts/icons/@{filename}.woff?6762325') format('woff'), url('fonts/icons/@{filename}.ttf?6762325') format('truetype'), url('fonts/icons/@{filename}.svg?6762325#fontello') format('svg')"; src: ~"url('fonts/icons/@{filename}.eot?6762325#iefix') format('embedded-opentype'), url('fonts/icons/@{filename}.woff2?6762325') format('woff2'), url('fonts/icons/@{filename}.woff?6762325') format('woff'), url('fonts/icons/@{filename}.ttf?6762325') format('truetype'), url('fonts/icons/@{filename}.svg?6762325#fontello') format('svg')";
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
} }
.fontello() { .fontello() {
&::before { &::before {
font-family: "fontello"; font-family: "fontello";
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
speak: none; speak: none;
display: inline-block; display: inline-block;
text-decoration: inherit; text-decoration: inherit;
width: 1em; width: 1em;
margin-right: .2em; margin-right: .2em;
text-align: center; text-align: center;
/* For safety - reset parent styles, that can break glyph codes*/ /* For safety - reset parent styles, that can break glyph codes*/
font-variant: normal; font-variant: normal;
text-transform: none; text-transform: none;
/* fix buttons height, for twitter bootstrap */ /* fix buttons height, for twitter bootstrap */
line-height: 1em; line-height: 1em;
/* Animation center compensation - margins should be symmetric */ /* Animation center compensation - margins should be symmetric */
/* remove if not needed */ /* remove if not needed */
margin-left: .2em; margin-left: .2em;
/* you can be more comfortable with increased icons size */ /* you can be more comfortable with increased icons size */
/* font-size: 120%; */ /* font-size: 120%; */
/* Font smoothing. That was taken from TWBS */ /* Font smoothing. That was taken from TWBS */
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
/* Uncomment for 3D effect */ /* Uncomment for 3D effect */
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
} }
} }
.fontello-double() { .fontello-double() {
&::before, &::before,
&::after { &::after {
font-family: "fontello"; font-family: "fontello";
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
speak: none; speak: none;
display: inline-block; display: inline-block;
text-decoration: inherit; text-decoration: inherit;
width: 1em; width: 1em;
margin-right: .2em; margin-right: .2em;
text-align: center; text-align: center;
/* For safety - reset parent styles, that can break glyph codes*/ /* For safety - reset parent styles, that can break glyph codes*/
font-variant: normal; font-variant: normal;
text-transform: none; text-transform: none;
/* fix buttons height, for twitter bootstrap */ /* fix buttons height, for twitter bootstrap */
line-height: 1em; line-height: 1em;
/* Animation center compensation - margins should be symmetric */ /* Animation center compensation - margins should be symmetric */
/* remove if not needed */ /* remove if not needed */
margin-left: .2em; margin-left: .2em;
/* you can be more comfortable with increased icons size */ /* you can be more comfortable with increased icons size */
/* font-size: 120%; */ /* font-size: 120%; */
/* Font smoothing. That was taken from TWBS */ /* Font smoothing. That was taken from TWBS */
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
/* Uncomment for 3D effect */ /* Uncomment for 3D effect */
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
} }
} }
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Screenreader / Hide */ /* Screenreader / Hide */
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
.sr-out() { .sr-out() {
display: block; display: block;
width: 1px; width: 1px;
height: 1px; height: 1px;
overflow: hidden; overflow: hidden;
position: absolute; position: absolute;
top: -200000em; top: -200000em;
left: -200000em; left: -200000em;
} }
.sr-only() { .sr-only() {
position: absolute; position: absolute;
width: 1px; width: 1px;
height: 1px; height: 1px;
margin: -1px; margin: -1px;
padding: 0; padding: 0;
overflow: hidden; overflow: hidden;
clip: rect(0,0,0,0); clip: rect(0,0,0,0);
border: 0; border: 0;
} }
.sr-only-focusable() { .sr-only-focusable() {
&:active, &:active,
&:focus { &:focus {
position: static; position: static;
width: auto; width: auto;
height: auto; height: auto;
margin: 0; margin: 0;
overflow: visible; overflow: visible;
clip: auto; clip: auto;
} }
} }
/* + + + + + small icon-buttons (breadcrumb, page-header) + + + + + */ /* + + + + + small icon-buttons (breadcrumb, page-header) + + + + + */
.btn-usertools-wrapper(@elem:2em) { .btn-usertools-wrapper(@elem:2em) {
display: inline-block; display: inline-block;
min-height: @elem; min-height: @elem;
min-width: @elem; min-width: @elem;
box-sizing: border-box; box-sizing: border-box;
color: @color-nav; color: @color-nav;
font-size: .8rem; font-size: .8rem;
padding: 0; padding: 0;
margin: 0 .2rem; margin: 0 .2rem;
* { * {
font-size: .8rem; font-size: .8rem;
} }
} }
.btn-usertools-num () { .btn-usertools-num () {
.num { .num {
position: absolute; position: absolute;
right: -.4rem; right: -.4rem;
top: -.4em; top: -.4em;
background-color: @button_background; background-color: @button_background;
border-radius: 2px; border-radius: 2px;
color: @button_color; color: @button_color;
font-size: .6rem; font-size: .6rem;
font-weight: 400; font-weight: 400;
text-align: center; text-align: center;
line-height: 1; line-height: 1;
padding: .2em .2rem .1em; padding: .2em .2rem .1em;
transition: @transition color, @transition background-color; transition: @transition color, @transition background-color;
} }
a { a {
&:hover, &:hover,
&:active, &:active,
&:focus { &:focus {
.num { .num {
background-color: @button_background; background-color: @button_background;
color: @button_color; color: @button_color;
} }
} }
} }
} }
.btn-prefix () { .btn-prefix () {
.fontello(); .fontello();
.hide-text-show-before(); .hide-text-show-before();
color: inherit; color: inherit;
font-size: 1rem; font-size: 1rem;
margin-top: .2rem; margin-top: .2rem;
} }
.btn-default-size() { .btn-default-size() {
height: 1rem; height: 1rem;
width: 1rem; width: 1rem;
min-height: 1.2em; min-height: 1.2em;
min-width: 1.4em; min-width: 1.4em;
} }
.btn-default-height() { .btn-default-height() {
height: 1rem; height: 1rem;
min-height: 1.2em; min-height: 1.2em;
min-width: 1.4em; min-width: 1.4em;
} }
.hide-text-show-before(){ .hide-text-show-before(){
display: inline-block; display: inline-block;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-indent: -9999px; text-indent: -9999px;
.btn-default-size(); .btn-default-size();
&::before{ &::before{
text-indent: 0; text-indent: 0;
float: left; float: left;
} }
&::after{ &::after{
text-indent: 0; text-indent: 0;
float: left; float: left;
} }
} }
.hide-text-show-after() { .hide-text-show-after() {
display: inline-block; display: inline-block;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-indent: -9999px; text-indent: -9999px;
&::before{ &::before{
text-indent: 0; text-indent: 0;
float: right; float: right;
} }
&::after{ &::after{
text-indent: 0; text-indent: 0;
float: right; float: right;
} }
} }
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Screenreader / Hide */ /* flex-box */
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
.display-flex() {
.reset() { display: flex;
background: transparent; display: -ms-flexbox;
border: none 0; outline: 0; vertical-align: baseline; display: -webkit-flex;
font-style: normal; }
margin: 0; padding: 0;
} .flex-direction(@elem:column) {
flex-direction: @elem;
.elementsReset() { -ms-flex-direction: @elem;
div, span, object, iframe, -webkit-flex-direction: @elem;
h1, h2, h3, h4, h5, h6, p, blockquote, }
a, abbr, em,acronym, img, strong,
dl, dt, dd, ol, ul, li, // default "center"
fieldset, form, label, legend, .justify-content(@elem:center) {
table, caption, tbody, tfoot, thead, tr, th, td, justify-content: @elem;
input, select, option, textarea, button { -ms-justify-content: @elem;
.reset(); -webkit-justify-content: @elem;
} }
}
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* Screenreader / Hide */
/* Col Grid */ /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
.reset() {
.make-grid(@class) { background: transparent;
.float-grid-columns(@class); border: none 0; outline: 0; vertical-align: baseline;
.loop-grid-columns(@grid-columns, @class, width); font-style: normal;
} margin: 0; padding: 0;
}
.float-grid-columns(@class) {
.col-@{class}-1, .col-@{class}-2, .col-@{class}-3, .col-@{class}-4, .col-@{class}-5, .col-@{class}-6, .col-@{class}-7, .col-@{class}-8, .col-@{class}-9, .col-@{class}-10, .col-@{class}-11, .col-@{class}-12 { .elementsReset() {
float: left; div, span, object, iframe,
} h1, h2, h3, h4, h5, h6, p, blockquote,
} a, abbr, em,acronym, img, strong,
dl, dt, dd, ol, ul, li,
.loop-grid-columns(@index, @class, @type) when (@index >= 0) { fieldset, form, label, legend,
.calc-grid-column(@index, @class, @type); table, caption, tbody, tfoot, thead, tr, th, td,
// next iteration input, select, option, textarea, button {
.loop-grid-columns((@index - 1), @class, @type); .reset();
} }
}
.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
.col-@{class}-@{index} {
width: percentage((@index / @grid-columns)); /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
} /* Col Grid */
} /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
.make-grid(@class) {
.float-grid-columns(@class);
.loop-grid-columns(@grid-columns, @class, width);
}
.float-grid-columns(@class) {
.col-@{class}-1, .col-@{class}-2, .col-@{class}-3, .col-@{class}-4, .col-@{class}-5, .col-@{class}-6, .col-@{class}-7, .col-@{class}-8, .col-@{class}-9, .col-@{class}-10, .col-@{class}-11, .col-@{class}-12 {
float: left;
}
}
.loop-grid-columns(@index, @class, @type) when (@index >= 0) {
.calc-grid-column(@index, @class, @type);
// next iteration
.loop-grid-columns((@index - 1), @class, @type);
}
.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {
.col-@{class}-@{index} {
width: percentage((@index / @grid-columns));
}
}