Compare commits

...

5 commits

Author SHA1 Message Date
b7ec209761 docs: Add comment 2025-06-21 14:35:32 +02:00
35b55de550 feat: Changes to flex and display
- Remove unused flex classes
- Nav module no longer dependend on common flex classes
- Add important to common display and opacity
2025-06-21 13:35:26 +02:00
2f63dbe2b6 feat: Changes to io
Keyword "io" now has many more usage scenarios.

- Default margin for io now 0
- New config value for inline element margin
- Rename first classes
- Io classes integrated to sections and groups
2025-06-20 17:07:03 +02:00
1a3c25d8b5 feat: New variants
- Add flex inline placeholder
- Add hr vertical class
2025-06-20 17:02:27 +02:00
c268f4fdca feat: New bound class io
This is a change of paradigm!

- Add io class bound to header element
2025-06-19 16:43:32 +02:00
8 changed files with 193 additions and 44 deletions

View file

@ -2,6 +2,7 @@
// Use a file outside of hippie i.e. vendor/normalize.css
// -----------------------------------------------------------------------------
// @import "../../vendor/normalizecss/normalize.css";
// @import "../../node_modules/normalize.css/normalize.css";

View file

@ -67,6 +67,13 @@ hr {
border-width: $width_border_basic 0 0;
border-style: solid;
border-color: $color_border_basic;
&.vertical {
display: inline;
height: $line_basic;
margin: 0 $space_double;
border-width: 0 $width_border_basic 0 0;
}
}
.hr_hidden {
@ -286,38 +293,9 @@ div {}
// Flex
.flex {
display: flex;
}
.flex_wrap {
@extend .flex;
flex-wrap: wrap;
}
.flex_row {
@extend .flex;
flex-direction: column;
// align-items: flex-start;
justify-content: flex-start;
}
.flex_child {
flex: 0 1 auto;
}
.flex_child_one {
flex: 1;
}
.flex_child_end {
align-self: flex-end;
}
.flex_column_wrap {
@extend .flex_wrap;
.flex_column {
@extend .flex_child;
flex-grow: 1;
&.inline {
@extend %flex-inline;
}
}

View file

@ -57,7 +57,7 @@ label + input {
}
input, button, textarea, select {
margin: $margin_io;
margin: $margin_inline;
&[disabled="disabled"],
&[disabled] {
@ -79,6 +79,10 @@ td > textarea {
}
}
.input_io, .button_io, .io_textarea, .io_select {
margin: $margin_io;
}
.input_io, .io_textarea, .io_select {
padding: $space_half;
color: $color_text_io;

View file

@ -1,3 +1,5 @@
@use "sass:map";
// Root
// -----------------------------------------------------------------------------
html {
@ -81,7 +83,16 @@ section {}
// Navigation
// -----------------------------------------------------------------------------
nav {}
nav {
ul {
margin: 0;
&.inline li {
display: inline-block;
}
}
}
// Aside element
// -----------------------------------------------------------------------------
@ -107,6 +118,33 @@ aside {
*:first-child {
margin-top: 0;
}
&.io {
input,
textarea,
select,
button {
display: block;
width: 100%;
}
input {
@extend .input_io;
}
textarea {
@extend .io_textarea;
}
select {
@extend .io_select;
}
button {
@extend .button_io;
}
}
}
// Headings
@ -180,6 +218,101 @@ header {}
}
}
header,
aside,
footer {
&.io {
.span_solo {
border: $width_border_io solid transparent;
padding: $padding_basic;
}
}
}
header.io,
aside.io {
padding: $space_basic;
input,
button,
textarea,
select {
margin-inline: $space_half;
}
input {
@extend .input_io;
}
textarea {
@extend .io_textarea;
}
select {
@extend .io_select;
}
button {
@extend .button_io;
}
}
header,
footer {
&.io {
@extend %flex-inline;
align-items: stretch;
}
}
header.io {
z-index: map.get($z-indexes, "content-top");
&>*:last-child *:last-child {
margin-right: 0;
}
&>*:first-child *:first-child {
margin-left: 0;
}
nav,
ul {
@extend %flex-inline;
align-items: stretch;
}
nav li {
margin: 0;
}
nav:last-child {
margin-left: auto;
}
h1 {
margin: 0;
}
}
// Footer
// -----------------------------------------------------------------------------
footer {}
footer {
&.io {
input {
@extend .input_io;
}
textarea {
@extend .io_textarea;
}
select {
@extend .io_select;
}
button {
@extend .button_io;
}
}
}

View file

@ -21,15 +21,15 @@
}
.di_none {
display: none;
display: none !important;
}
.op_hide {
opacity: 0;
opacity: 0 !important;
}
.op_show {
opacity: 1;
opacity: 1 !important;
}
.space_even_auto {
@ -173,6 +173,34 @@
// Flex & grid
// -----------------------------------------------------------------------------
%flex-inline {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
justify-content: flex-start;
gap: $space_half $space_basic;
}
%flex-column,
%flex-row {
display: flex;
flex-wrap: nowrap;
gap: $space_basic;
}
%flex-column {
flex-direction: column;
}
%flex-row {
flex-direction: row;
}
// Positioned elements
// -----------------------------------------------------------------------------
%viewport_fixed {

View file

@ -142,7 +142,8 @@ $space_large: $space_basic * 16;
$margin_basic: $space_basic 0 !default;
$margin_double: $space_double 0 !default;
$margin_io: 0 $space_small 0 0 !default;
$margin_inline: 0 $space_double 0 0 !default;
$margin_io: 0 !default;
$padding_basic: calc(#{$space_basic} - 3px) $space_basic !default;
$padding_link: calc(#{$space_basic} - 1px) calc(#{$space_basic} * 2) !default;

View file

@ -99,12 +99,11 @@ nav {
margin: $space_basic 0;
ul {
@extend .flex;
display: flex;
margin: 0 $space_large;
li {
@extend .flex_child;
flex-grow: 1;
flex: auto;
margin: 0;
text-align: center;

View file

@ -11,13 +11,15 @@
}
}
th, td {
th,
td {
border: 0;
}
.cell_icon {
width: 48px;
text-align: center;
img {
vertical-align: text-top;
}
@ -29,9 +31,11 @@
&:hover {
background-color: $foxtrot_color;
a:first-child {
display: none;
}
a:last-child {
display: block;
color: $color_highlight_basic;
@ -47,7 +51,8 @@
}
}
th:last-child, .cell_date {
th:last-child,
.cell_date {
width: 16%;
text-align: center;
}