Patrick Lid Monslaup
Technical manager & developer for Knowit Experience Bergen. Looking for a new job? Check out http://knowit.no/karriere
Meg i virkeligheten
Gjenbrukbar
Eksempel fra De Historiske sin styleguide
// vanlig knapp
<button class="button">
Button
</button>
// hul knapp
<button class="button button--hollow">
Button
</button>
// hul knapp som tar full bredde
<button class="button button--hollow button--full-width">
Button
</button>
// vanlig knapp som tar full bredde
<button class="button button--full-width">
Button
</button>
Hvordan burde en knapp-implementasjon være?
Block, Element, Modifier
// vanlig knapp
<button class="button">
Button
</button>
// hul knapp
<button class="button button--hollow">
Button
</button>
// hul knapp som tar full bredde
<button class="button button--hollow button--full-width">
Button
</button>
// vanlig knapp som tar full bredde
<button class="button button--full-width">
Button
</button>
Modifier: --hollow
Block: .button (classname)
Modifiers: --full-width, --hollow
Modifier: --full-width
@mixin generateButton ($border-color, $border-hover-color, $background-color,
$background-hover-color, $font-color, $font-hover-color)
{
transition: all .2s linear;
color: $font-color;
background-color: $background-color;
border-color: $border-color;
border-width: 2px;
border-style: solid;
&:hover {
color: $font-hover-color;
background-color: $background-hover-color;
border-color: $border-hover-color;
}
}@mixin hollowButton ($border-color, $font-hover-color) {
@include generateButton($border-color, $border-color, transparent,
$border-color, $border-color, $font-hover-color);
}
@mixin solidButton ($background-color, $background-hover-color,
$font-color, $font-hover-color) {
@include generateButton($background-color, $background-hover-color,$background-color,
$background-hover-color,$font-color, $font-hover-color);
}
.button {
&--orange {
@include solidButton($orange-primary, lighten($orange-primary, 10%), $white-text, $white-text);
}
&--blue {
@include solidButton($blue-primary, lighten($blue-primary, 10%), $white-text, $white-text);
}
&--hollow-blue {
@include hollowButton($blue-primary, $white-text);
}
&--hollow-orange {
@include hollowButton($orange-primary, $white-text);
}
&--hollow-turkis {
@include hollowButton($turkis, $blue-primary);
}
&--turkis {
@include solidButton($turkis, lighten($turkis, 10%), $white-text, $white-text);
}
&--small {
padding: $button-padding-height--small $button-padding-width--small;
display: inline-block;
width: auto;
}
&--auto-size {
display: inline-block;
width: auto;
}
}Base button styling such as "box-sizing" and "text-decoration" has been omitted for presentation.
Ask Patrick if you'd like a partial with generator and examples
.. eller i det minste skriv hvorfor den er kommentert ut, med lenke til issue hvis det er en pågående eller blokkert sak
By Patrick Lid Monslaup
Technical manager & developer for Knowit Experience Bergen. Looking for a new job? Check out http://knowit.no/karriere