PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / blocks / one-page-nav / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/one-page-nav/style.css

155 lines 4.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* One Page Navigation Block — bkbg-opn-* */
2
3 /* Root (invisible placeholder in page flow) */
4 .bkbg-opn-app {
5 display: none;
6 }
7
8 /* Fixed container (built by JS) */
9 .bkbg-opn-nav {
10 position: fixed;
11 top: 50%;
12 transform: translateY(-50%);
13 z-index: 9999;
14 display: flex;
15 flex-direction: column;
16 align-items: center;
17 gap: 0;
18 }
19
20 .bkbg-opn-nav.bkbg-opn-right { right: 24px; }
21 .bkbg-opn-nav.bkbg-opn-left { left: 24px; }
22
23 /* Progress line track */
24 .bkbg-opn-track {
25 position: absolute;
26 top: 0;
27 left: 50%;
28 transform: translateX(-50%);
29 width: 2px;
30 background: rgba(0, 0, 0, 0.08);
31 height: 100%;
32 border-radius: 2px;
33 }
34
35 .bkbg-opn-track-fill {
36 width: 100%;
37 background: var(--bkbg-opn-active, #6366f1);
38 border-radius: 2px;
39 transition: height 0.3s ease;
40 height: 0%;
41 }
42
43 /* ---- Dot item ---- */
44 .bkbg-opn-item {
45 position: relative;
46 z-index: 1;
47 display: flex;
48 align-items: center;
49 cursor: pointer;
50 padding: 7px 0;
51 }
52
53 .bkbg-opn-nav.bkbg-opn-right .bkbg-opn-item { flex-direction: row-reverse; }
54 .bkbg-opn-nav.bkbg-opn-left .bkbg-opn-item { flex-direction: row; }
55
56 /* ---- The dot ---- */
57 .bkbg-opn-dot {
58 width: 12px;
59 height: 12px;
60 border-radius: 50%;
61 background: var(--bkbg-opn-dot, #d1d5db);
62 transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
63 flex-shrink: 0;
64 }
65
66 .bkbg-opn-item:hover .bkbg-opn-dot {
67 background: var(--bkbg-opn-hover, #a5b4fc);
68 transform: scale(1.2);
69 }
70
71 .bkbg-opn-item.bkbg-opn-active .bkbg-opn-dot {
72 background: var(--bkbg-opn-active, #6366f1);
73 transform: scale(1.35);
74 box-shadow: 0 0 0 4px color-mix(in srgb, var(--bkbg-opn-active, #6366f1) 25%, transparent);
75 }
76
77 /* Diamond shape */
78 .bkbg-opn-diamond .bkbg-opn-dot {
79 border-radius: 2px;
80 transform: rotate(45deg);
81 }
82
83 .bkbg-opn-diamond .bkbg-opn-item.bkbg-opn-active .bkbg-opn-dot {
84 transform: rotate(45deg) scale(1.35);
85 }
86
87 .bkbg-opn-diamond .bkbg-opn-item:hover .bkbg-opn-dot {
88 transform: rotate(45deg) scale(1.2);
89 }
90
91 /* Square shape */
92 .bkbg-opn-square .bkbg-opn-dot {
93 border-radius: 3px;
94 }
95
96 /* ---- Pulse animation on active ---- */
97 @keyframes bkbg-opn-pulse {
98 0%, 100% { box-shadow: 0 0 0 0 var(--bkbg-opn-active, #6366f1); }
99 50% { box-shadow: 0 0 0 6px rgba(99, 102, 241, 0); }
100 }
101
102 .bkbg-opn-item.bkbg-opn-active.bkbg-opn-animate .bkbg-opn-dot {
103 animation: bkbg-opn-pulse 2s ease-in-out infinite;
104 }
105
106 /* ---- Tooltip ---- */
107 .bkbg-opn-tooltip {
108 font-family: var(--bkbg-opn-tp-font-family, inherit);
109 font-size: var(--bkbg-opn-tp-font-size-d, 12px);
110 font-weight: var(--bkbg-opn-tp-font-weight, 600);
111 line-height: var(--bkbg-opn-tp-line-height-d, var(--bkbg-opn-tp-line-height, 1.3));
112 letter-spacing: var(--bkbg-opn-tp-letter-spacing-d, var(--bkbg-opn-tp-letter-spacing, normal));
113 border-radius: 6px;
114 padding: 4px 10px;
115 white-space: nowrap;
116 pointer-events: none;
117 opacity: 0;
118 transform: translateX(0) scale(0.85);
119 transition: opacity 0.2s, transform 0.2s;
120 }
121
122 .bkbg-opn-nav.bkbg-opn-right .bkbg-opn-tooltip { margin-right: 10px; transform-origin: right center; }
123 .bkbg-opn-nav.bkbg-opn-left .bkbg-opn-tooltip { margin-left: 10px; transform-origin: left center; }
124
125 .bkbg-opn-item:hover .bkbg-opn-tooltip,
126 .bkbg-opn-item.bkbg-opn-active .bkbg-opn-tooltip {
127 opacity: 1;
128 transform: translateX(0) scale(1);
129 }
130
131 /* ---- Editor wrap ---- */
132 .bkbg-opn-editor-wrap { display: block; }
133
134 /* ---- Hide on mobile by default ---- */
135 @media (max-width: 480px) {
136 .bkbg-opn-nav { display: none; }
137 }
138
139 @media (max-width: 1024px) {
140 /* ---- Tooltip ---- */
141 .bkbg-opn-tooltip {
142 font-size: var(--bkbg-opn-tp-font-size-t, var(--bkbg-opn-tp-font-size-d, 12px));
143 line-height: var(--bkbg-opn-tp-line-height-t, var(--bkbg-opn-tp-line-height-d, var(--bkbg-opn-tp-line-height, 1.3)));
144 letter-spacing: var(--bkbg-opn-tp-letter-spacing-t, var(--bkbg-opn-tp-letter-spacing-d, var(--bkbg-opn-tp-letter-spacing, normal)));
145 }
146 }
147 @media (max-width: 767px) {
148 /* ---- Tooltip ---- */
149 .bkbg-opn-tooltip {
150 font-size: var(--bkbg-opn-tp-font-size-m, var(--bkbg-opn-tp-font-size-t, var(--bkbg-opn-tp-font-size-d, 12px)));
151 line-height: var(--bkbg-opn-tp-line-height-m, var(--bkbg-opn-tp-line-height-t, var(--bkbg-opn-tp-line-height-d, var(--bkbg-opn-tp-line-height, 1.3))));
152 letter-spacing: var(--bkbg-opn-tp-letter-spacing-m, var(--bkbg-opn-tp-letter-spacing-t, var(--bkbg-opn-tp-letter-spacing-d, var(--bkbg-opn-tp-letter-spacing, normal))));
153 }
154 }
155