luci-theme-material: align CSS with markup changes

Add the bare minimum of changes to make the theme render correctly with the
latest markup, requires further refinement and tuning in the future.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2018-06-19 17:20:45 +02:00
parent b453624dce
commit c4e25bebfc

View file

@ -32,7 +32,7 @@
font-style: normal; font-style: normal;
} }
.table { display: table; } .table { display: table; position: relative; }
.tr { display: table-row; } .tr { display: table-row; }
.thead { display: table-header-group; } .thead { display: table-header-group; }
.tbody { display: table-row-group; } .tbody { display: table-row-group; }
@ -48,6 +48,19 @@
font-weight: bold; font-weight: bold;
} }
.tr.placeholder {
height: 4em;
}
.tr.placeholder > .td {
position: absolute;
left: 0;
right: 0;
bottom: 0;
text-align: center;
line-height: 3em;
}
.table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; } .table[width="33%"], .th[width="33%"], .td[width="33%"] { width: 33%; }
.table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; } .table[width="100%"], .th[width="100%"], .td[width="100%"] { width: 100%; }
@ -442,10 +455,12 @@ h3 {
} }
h4 { h4 {
margin: 2rem 0 0 0;
font-size: 1.2rem;
padding-bottom: 10px;
} }
fieldset { .cbi-section {
margin: 2rem 0 0 0; margin: 2rem 0 0 0;
padding: 2rem; padding: 2rem;
border: 0; border: 0;
@ -465,7 +480,7 @@ fieldset {
margin-top: 1rem; margin-top: 1rem;
} }
fieldset > legend { .cbi-section > legend {
display: none !important; display: none !important;
} }
@ -486,10 +501,12 @@ fieldset > fieldset {
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
} }
table, table {
.table {
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
}
table, .table {
width: 100%; width: 100%;
border: 1px solid #eee; border: 1px solid #eee;
} }
@ -501,21 +518,75 @@ table > tbody > tr > td, table > tbody > tr > th, table > tfoot > tr > td, table
white-space: nowrap; white-space: nowrap;
} }
.td.cbi-value-field,
.cbi-section-table-cell { .cbi-section-table-cell {
text-align: center; text-align: center;
display: inline-block;
flex: 10;
}
.cbi-section-table-cell {
white-space: nowrap;
align-self: flex-end;
flex: 1;
}
.td.cbi-value-field[data-title]::before {
content: attr(data-title);
padding: .5rem;
display: block;
white-space: nowrap;
}
.cbi-section-table {
border: none;
}
.cbi-section-table-titles,
.cbi-section-table-descr {
display: none;
} }
.cbi-section-table-row { .cbi-section-table-row {
text-align: center; text-align: center;
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-between;
margin-bottom: 1rem;
background: #f4f4f4;
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .16), 0 0 2px 0 rgba(0, 0, 0, .12);
} }
fieldset > table > tbody > tr:nth-of-type(2n), .cbi-section-table-row:last-child {
fieldset > .table > .tbody > .tr:nth-of-type(2n) { margin-bottom: 0;
}
.cbi-section-table-row[data-title]::before {
content: attr(data-title);
display: block;
width: 100%;
margin: .25rem;
padding: .25rem .25rem .5rem .25rem;
border-bottom: 1px solid rgba(0, 0, 0, .26);
text-align: center;
font-size: 1rem;
}
.cbi-section-table-row > .cbi-value-field .cbi-input-select,
.cbi-section-table-row > .cbi-value-field .cbi-input-text,
.cbi-section-table-row > .cbi-value-field .cbi-input-password,
.cbi-section-table-row > .cbi-value-field .cbi-dropdown {
width: 100%;
}
div > table > tbody > tr:nth-of-type(2n),
div > .table > .tbody > .tr:nth-of-type(2n) {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
fieldset > table > tbody > tr:nth-of-type(2n), div > table > tbody > tr:nth-of-type(2n),
fieldset > .table > .tbody > .tr:nth-of-type(2n) { div > .table > .tbody > .tr:nth-of-type(2n) {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
@ -1029,7 +1100,7 @@ td > .ifacebadge,
.ifacebadge > img { .ifacebadge > img {
display: inline-block; display: inline-block;
margin: 0 .2rem; margin: 0 .2rem;
align-self: start; align-self: flex-start;
} }
.ifacebadge > img + img { .ifacebadge > img + img {
@ -1206,10 +1277,9 @@ td > .ifacebadge,
.zonebadge { .zonebadge {
padding: 0.2rem 0.5rem; padding: 0.2rem 0.5rem;
display: inline-block; display: inline-block;
cursor: pointer;
} }
.zonebadge > .ifacebadge { .zonebadge .ifacebadge {
padding: .2rem .3rem; padding: .2rem .3rem;
margin: 0.1rem 0.2rem; margin: 0.1rem 0.2rem;
border: 1px solid #6C6C6C; border: 1px solid #6C6C6C;
@ -1255,11 +1325,13 @@ td > .ifacebadge,
min-width: 7rem; min-width: 7rem;
} }
.cbi-section-table-row > .cbi-value-field .cbi-input-select { .cbi-section-create {
width: 7rem; margin: .5rem -3px;
display: inline-flex;
align-items: center;
} }
.cbi-section-create > .cbi-button-add { .cbi-section-create > * {
margin: 0.5rem; margin: 0.5rem;
} }
@ -1291,6 +1363,62 @@ small {
border-top: 1px solid #CCC; border-top: 1px solid #CCC;
} }
.cbi-dropdown-container {
position: relative;
}
.cbi-tooltip-container {
cursor: help;
}
.cbi-tooltip {
position: absolute;
z-index: 1000;
left: -1000px;
opacity: 0;
transition: opacity .25s ease-out;
pointer-events: none;
box-shadow: 0 0 2px #444;
}
.cbi-tooltip-container:hover .cbi-tooltip {
left: auto;
opacity: 1;
transition: opacity .25s ease-in;
}
.zonebadge .cbi-tooltip {
padding: .25rem;
background: inherit;
margin: -1.5rem 0 0 -.5rem;
}
.zonebadge-empty {
background: repeating-linear-gradient(45deg,rgba(204,204,204,0.5),rgba(204,204,204,0.5) 5px,rgba(255,255,255,0.5) 5px,rgba(255,255,255,0.5) 10px);
color: #404040;
}
.zone-forwards {
display: flex;
min-width: 10rem;
}
.zone-forwards > * {
flex: 1 1 45%;
}
.zone-forwards > span {
flex-basis: 10%;
text-align: center;
padding: 0 .25rem;
}
.zone-forwards .zone-src,
.zone-forwards .zone-dest {
display: flex;
flex-direction: column;
}
#diag-rc-output > pre { #diag-rc-output > pre {
background-color: #f5f5f5; background-color: #f5f5f5;
display: block; display: block;
@ -1475,11 +1603,6 @@ header > .container > .pull-right > * {
margin-top: 0; margin-top: 0;
} }
/* fix network firewall*/
.node-network-firewall > .main .cbi-section-table-row > .cbi-value-field .cbi-input-select {
min-width: 4rem;
}
.node-status-iptables fieldset, .node-status-iptables fieldset,
.node-system-packages fieldset, .node-system-packages fieldset,
.node-system-flashops fieldset { .node-system-flashops fieldset {
@ -1669,6 +1792,26 @@ body.lang_pl.node-main-login .cbi-value-title {
.node-main-login > .main .cbi-value-title { .node-main-login > .main .cbi-value-title {
text-align: left; text-align: left;
} }
.tr {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
.th, .td {
flex: 1;
flex-basis: 33%;
overflow: hidden;
text-overflow: ellipsis;
}
.th.cbi-value-field,
.td.cbi-value-field,
.th.cbi-section-table-cell,
.td.cbi-section-table-cell {
flex-basis: auto;
}
} }
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
@ -1803,6 +1946,14 @@ body.lang_pl.node-main-login .cbi-value-title {
.node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"] { .node-status-iptables > .main div > .cbi-map > form input[type="submit"] + input[type="submit"] {
margin-top: 1rem; margin-top: 1rem;
} }
.th, .td {
flex-basis: 50%;
}
.td.cbi-value-field {
flex-basis: 100%;
}
} }
@media screen and (min-width: 992px) { @media screen and (min-width: 992px) {