Files
Thomas Vincent 62063a29e0 fix(theme): [develop] correct CSS cascade, invalid values and responsive selectors (#8293)
* fix(themes): correct CSS cascade, font fallbacks and responsive selectors

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(themes): remove validated empty and redundant CSS rules

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* style(css): remove reviewed inactive rules and redundant separators

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* style(themes): consolidate two reviewed duplicate selectors

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(themes): remove identical whitespace declaration after consolidation

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix(theme): keep context menu fallbacks in Cacti overrides

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test(theme): measure native CSS and header coverage

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* ci: retain bootstrap coverage and validate request dispatch

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: synchronize native coverage fixture dispatch

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: measure coverage at the exact PR revision

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* test: cover Midwinter and graph heading CSS repairs in Chromium

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* ci: take the theme coverage base from the merge commit parent

- github.event.pull_request.base.sha can predate the develop tip the checkout was merged onto, which counted develop's own CSS lines as the PR's.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-10-14 22:51:15 -04:00

274 lines
5.7 KiB
CSS

#zoom-container {
position:absolute;
pointer-events: none;
z-index:auto;
width: 100%;
height: 100%;
&[data-active-element]:hover {
.zoom-crosshair {
visibility: visible;
}
}
}
#zoom-box {
width:0;
height:0;
top:0;
left:0;
position:absolute;
overflow:hidden;
border:0;
padding:0;
margin:0;
z-index:auto;
pointer-events: all;
}
.zoom-crosshair {
display: none;
position:relative;
top:0;
right:0;
&.x-axis {
width:100%;
height:0;
border-top: 1px dashed rgba(0,0,0,0.5);
}
&.y-axis {
width:0;
height:100%;
border-left: 1px dashed rgba(0,0,0,0.5);
}
}
#zoom-area {
display: none;
width: 0;
cursor:e-resize;
background-color: #3f75a2;
height:0px;
position:absolute;
z-index:auto;
filter:alpha(opacity=40);
-moz-opacity:0.4;
-khtml-opacity:0.4;
opacity:0.4;
overflow:hidden;
padding:0;
margin:0;
box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-o-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
border: 1px solid rgba(0,0,0,0.5);
border-radius: 2px 2px 2px 2px;
}
.zoom-area-excluded {
display:none;
background-color: #3f75a2;
height:0px;
position:absolute;
z-index:auto;
filter:alpha(opacity=30);
-moz-opacity:0.3;
-khtml-opacity:0.3;
opacity:0.3;
overflow:hidden;
padding:0;
margin:0;
box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-o-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
-moz-box-shadow: 0 2px 6px rgba(0,0,0,0.75), inset 0 1px rgba(255,255,255,0.3), inset 0 10px rgba(255,255,255,0.2), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
border: 1px solid rgba(0,0,0,0.75);
border-radius: 2px 2px 2px 2px;
}
.zoom-marker {
cursor: e-resize;
border-left: 1px dotted #191970;
width: 0;
height: 120px;
position: absolute;
z-index: auto;
display: none;
&::before {
position: relative;
top: -10px;
left: -4px;
content: "\f0d7";
font-family: "Font Awesome 5 Free", sans-serif;
font-weight: 600;
}
&::after {
left: -4px;
bottom: -10px;
position: inherit;
content: "\f0d8";
font-family: "Font Awesome 5 Free", sans-serif;
font-weight: 600;
}
.zoom-marker-tooltip {
display: inline-flex;
position: absolute;
z-index:300;
background: transparent;
transform: translateX(-100%);
color: snow;
left: 0;
&[id$="-1"] { top: 0.5rem; }
&[id$="-2"] { bottom: 0.5rem; }
&::before,
&::after {
color: rgba(0,0,0,0.75);
display: none;
content: "\f0d9";
font-family: "Font Awesome 5 Free", sans-serif;
font-weight: 600;
font-size: 1rem;
z-index:301;
margin-top: 0.3rem;
}
&::after {
display: unset;
content: "\f0da";
}
&.relative-right { transform: unset }
&.relative-right::after { display: none; }
&.relative-right::before { display: unset; }
}
}
.zoom-marker-tooltip-value{
white-space: pre-line;
font-size: 1em;
float: left;
background: #323232;
padding-left: 3px;
padding-right: 3px;
border: 1px solid rgba(0,0,0,0.75);
}
.zoom-menu,
.zoom-livedata {
border:1px solid #aaa;
position:absolute;
background:#fff;
display:none;
font-size: 1em;
z-index:auto;
}
.zoom-menu .first_li span {
width:150px;
display:block;
padding:5px 10px;
cursor:pointer
}
.zoom-menu .inner_li {
display:none;
margin-left:150px;
position:absolute;
border:1px solid #aaa;
border-left:1px solid #ccc;
margin-top:-28px;
background:#fff;
}
.zoom-menu .sep_li {
border-top: 1px solid #c5c5c5;
}
.zoom-menu .fill_title {
font-size: 1em;
font-weight:bold;
overflow:hidden;
word-wrap:break-word;
}
.zoom-menu .ui-icon {
float:left;
margin-left: 0.2em;
margin-right:0.4em;
margin-top: 2px;
}
.zoom-menu .ui-icon-right {
float: right;
margin-left: 0.4em;
margin-right:0.2em;
margin-top: 2px;
}
.zoom-menu .ui-icon-empty {
width: 16px;
height: 16px;
background-image:none;
}
.zoom-menu-hover {
background: #E0EDFE;
cursor: pointer;
}
.zoom-menu-highlight {
background: #E0EDFE;
}
.zoom-hidden {
z-index: -999;
position: fixed;
top: 0;
left: 0;
opacity: 0;
}
.zoom-livedata {
min-width: 15rem;
padding: 0.5rem 1rem;
}
.zoom-livedata-header {
vertical-align: central;
height: 1.25rem;
margin-bottom: 0.5rem;
border-bottom: 1px solid #ccc;
}
.zoom-livedata-item {
display: flex;
justify-content: space-between;
align-items: center;
}
.zoom-livedata-color {
width: 16px;
height: 16px;
flex-grow: 0;
background-color: transparent;
margin-right: 0.25rem;
border: 2px solid #fff;
border-radius: 4px;
}
.zoom-livedata-value {
font-family: 'Segoe UI monospace', monospace;
text-align: right;
white-space-collapse: preserve;
}
.zoom-livedata-title {
flex: 1;
text-align: left;
margin-right: 1rem;
}
.zoom-livedata-unit {
min-width: 0.5rem;
}