Files
wordpress-theme-aksrt/assets/css/frontend/nav/header-menu-buttons.css
T
kate522 77150afe38 fix(nav): hard-lock CTA chips at 34px for bare navbar-but markup
Live header uses .navbar-form.navbar-but without .navbar-but-cluster;
remove em padding/height:auto/min-height calc that grew chips on press
and override .but.radius padding so publish/VIP stay fixed size.
2026-07-25 10:38:23 +08:00

777 lines
20 KiB
CSS

/**
* Header multi-function publish cluster + VIP CTA + hover VIP cards.
*
* Live header often uses .navbar-form.navbar-but / .navbar-vip WITHOUT
* .navbar-but-cluster. Mirror the 34px chip lock for those roots too.
*
* @package AKSRT
*/
/* Shared CTA chip (cluster OR bare navbar-but / navbar-vip forms) */
.navbar-but-cluster a.navbar-cta,
.navbar-but-cluster a.btn-primary,
.navbar-but-cluster a.but.btn-primary,
.navbar-but-cluster a.navbar-newposts.but,
.navbar-but-cluster button.navbar-cta,
.navbar-but-cluster button.newadd-btns__toggle,
.navbar-but-cluster a.but:not(.newadd-btns__item),
.navbar-top .navbar-form.navbar-but a.but,
.navbar-top .navbar-form.navbar-but a.navbar-cta,
.navbar-top .navbar-form.navbar-vip a.navbar-cta,
.navbar-top .navbar-form.navbar-vip a.payvip-icon,
.navbar-top a.newadd-btns.navbar-cta,
.navbar-top a.navbar-newposts.but.navbar-cta,
.navbar-top a.payvip-icon.navbar-cta {
display: inline-flex !important;
align-items: center;
justify-content: center;
gap: 6px;
padding: 0 14px !important;
height: 34px !important;
min-height: 34px !important;
max-height: 34px !important;
border-radius: var(--navbar-cta-radius, 20px);
color: #fff !important;
text-decoration: none;
border: 0;
font-size: 13px !important;
line-height: 1 !important;
white-space: nowrap;
box-sizing: border-box !important;
vertical-align: middle;
flex: 0 0 auto !important;
width: fit-content !important;
max-width: fit-content !important;
min-width: 0 !important;
margin: 0 4px !important;
appearance: none;
-webkit-appearance: none;
cursor: pointer;
font-family: inherit;
transform: none !important;
}
/* Paint for publish / VIP when not already gradient-colored by jb-* */
.navbar-but-cluster a.navbar-cta,
.navbar-but-cluster a.btn-primary,
.navbar-but-cluster a.but.btn-primary,
.navbar-but-cluster a.navbar-newposts.but,
.navbar-but-cluster button.navbar-cta,
.navbar-but-cluster button.newadd-btns__toggle {
background: var(--color-primary, #2f6df6);
}
.navbar-but-cluster {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: nowrap;
min-width: 0;
overflow: visible;
position: relative;
z-index: 30;
}
.navbar-but-cluster .navbar-but,
.navbar-but-cluster .navbar-vip {
display: inline-flex;
align-items: center;
min-width: 0;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.navbar-but-cluster a.navbar-cta > i,
.navbar-but-cluster a.but > i,
.navbar-but-cluster a.btn-primary > i,
.navbar-but-cluster button.navbar-cta > i,
.navbar-but-cluster button.newadd-btns__toggle > i,
.navbar-but-cluster a.navbar-cta .navbar-cta-text,
.navbar-but-cluster a.navbar-cta > span:not(.badge),
.navbar-but-cluster button.navbar-cta .navbar-cta-text,
.navbar-but-cluster button.newadd-btns__toggle .navbar-cta-text,
.navbar-but-cluster button.newadd-btns__toggle > span {
display: inline-flex;
align-items: center;
justify-content: center;
margin: 0 !important;
flex: 0 0 auto;
line-height: 1.2;
white-space: nowrap;
color: inherit !important;
}
.navbar-but-cluster a.navbar-cta > i,
.navbar-but-cluster a.but > i,
.navbar-but-cluster a.btn-primary > i,
.navbar-but-cluster button.navbar-cta > i,
.navbar-but-cluster button.newadd-btns__toggle > i {
width: 1em;
height: 1em;
font-size: 1em;
line-height: 1;
}
/* Parent shell: shrink-wrap chip only */
.navbar-but-cluster .navbar-but,
.navbar-but-cluster .navbar-vip {
position: relative;
overflow: visible !important;
display: block !important;
width: fit-content !important;
max-width: fit-content !important;
min-width: 0 !important;
flex: 0 0 auto !important;
height: 34px;
}
.navbar-but-cluster .payvip-icon.but,
.navbar-but-cluster a.payvip-icon {
background: linear-gradient(90deg, #ff6b6b, #f04494);
color: #fff;
padding: 0 12px !important;
height: 34px !important;
border-radius: var(--navbar-cta-radius, 20px);
text-decoration: none;
font-size: 13px;
}
.navbar-but-cluster .ml10 {
margin-left: 0;
}
/*
* Publish multi-type dropdown
*
* The pink chip must NEVER share layout with the 168px menu.
* - wrapper = content-sized box (width: fit-content, no stretch)
* - toggle = only painted control
* - menu = absolute under wrapper, does not affect chip width
*/
.navbar-but-cluster .navbar-but {
/* outer shell around publish */
display: block !important;
width: fit-content !important;
max-width: fit-content !important;
min-width: 0 !important;
height: 34px !important;
flex: 0 0 auto !important;
position: relative;
overflow: visible !important;
}
.navbar-but-cluster .navbar-but .newadd-btns.hover-show,
.navbar-but-cluster .newadd-btns.hover-show,
span.newadd-btns.hover-show,
div.newadd-btns.hover-show {
position: relative !important;
display: block !important;
width: fit-content !important;
max-width: fit-content !important;
min-width: 0 !important;
height: 34px !important;
max-height: 34px !important;
padding: 0 !important;
margin: 0 !important;
border: 0 !important;
background: transparent !important;
box-shadow: none !important;
overflow: visible !important;
z-index: 40;
line-height: 0 !important;
float: none !important;
flex: 0 0 auto !important;
}
/* Pink chip only — content width, never 100% of anything */
.navbar-but-cluster .newadd-btns > .newadd-btns__toggle,
.navbar-but-cluster button.newadd-btns__toggle,
.navbar-but-cluster a.newadd-btns__toggle,
.navbar-but-cluster .newadd-btns__toggle.navbar-cta {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 6px !important;
height: 34px !important;
min-height: 34px !important;
max-height: 34px !important;
padding: 0 14px !important;
margin: 0 !important;
width: fit-content !important;
max-width: fit-content !important;
min-width: 0 !important;
box-sizing: border-box !important;
white-space: nowrap !important;
position: relative;
z-index: 2;
flex: 0 0 auto !important;
}
/* Hard-lock open/focus: still content-sized, never stretch */
.navbar-but-cluster .newadd-btns > .newadd-btns__toggle:hover,
.navbar-but-cluster .newadd-btns > .newadd-btns__toggle:focus,
.navbar-but-cluster .newadd-btns > .newadd-btns__toggle:focus-visible,
.navbar-but-cluster .newadd-btns > .newadd-btns__toggle:active,
.navbar-but-cluster .newadd-btns.hover-show:hover > .newadd-btns__toggle,
.navbar-but-cluster .newadd-btns.hover-show:focus-within > .newadd-btns__toggle {
width: fit-content !important;
max-width: fit-content !important;
min-width: 0 !important;
padding: 0 14px !important;
height: 34px !important;
transform: none !important;
flex: 0 0 auto !important;
}
/* Menu floats under chip; fixed width; cannot expand chip */
.navbar-but-cluster .newadd-btns > .drop-newadd,
.navbar-but-cluster .newadd-btns .hover-show-con.drop-newadd,
.newadd-btns > .drop-newadd,
.newadd-btns .hover-show-con.drop-newadd {
display: block !important;
position: absolute !important;
top: calc(100% + 0px) !important;
/* Align menu to the RIGHT edge of the chip, not stretch chip */
right: 0 !important;
left: auto !important;
bottom: auto !important;
float: none !important;
width: 168px !important;
min-width: 168px !important;
max-width: 168px !important;
margin: 0 !important;
padding: 10px 0 6px !important;
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
color: #222;
opacity: 0;
visibility: hidden;
transform: translateY(4px);
transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
z-index: 1200 !important;
pointer-events: none;
box-sizing: border-box !important;
}
.navbar-but-cluster .newadd-btns .drop-newadd::before,
.newadd-btns .drop-newadd::before,
.newadd-btns .hover-show-con.drop-newadd::before {
content: "" !important;
display: block !important;
position: absolute;
inset: 8px 0 0 0;
background: #ffffff !important;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 8px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
z-index: -1;
pointer-events: none;
}
.navbar-but-cluster .newadd-btns.hover-show:hover > .drop-newadd,
.navbar-but-cluster .newadd-btns.hover-show:focus-within > .drop-newadd,
.navbar-but-cluster .newadd-btns.hover-show:hover .hover-show-con.drop-newadd,
.navbar-but-cluster .newadd-btns.hover-show:focus-within .hover-show-con.drop-newadd,
.newadd-btns.hover-show:hover > .drop-newadd,
.newadd-btns.hover-show:focus-within > .drop-newadd {
opacity: 1;
visibility: visible;
transform: translateY(0);
pointer-events: auto;
}
.navbar-but-cluster .newadd-btns .newadd-btns__item,
.newadd-btns .drop-newadd .newadd-btns__item,
.newadd-btns__item {
display: flex !important;
align-items: center;
gap: 8px;
padding: 8px 14px !important;
margin: 0;
width: 100% !important;
height: auto !important;
min-height: 0;
border: 0 !important;
border-radius: 0;
background: transparent !important;
color: #222222 !important;
text-decoration: none !important;
white-space: nowrap;
position: relative;
z-index: 1;
box-sizing: border-box;
font-size: 13px !important;
font-weight: 500;
line-height: 1.35;
opacity: 1 !important;
}
.navbar-but-cluster .newadd-btns .newadd-btns__item > i,
.newadd-btns__item > i {
width: 1em;
margin: 0 !important;
text-align: center;
flex: 0 0 auto;
color: inherit !important;
opacity: 0.9;
}
.navbar-but-cluster .newadd-btns .newadd-btns__item > span,
.newadd-btns__item > span {
color: inherit !important;
line-height: 1.35;
}
.navbar-but-cluster .newadd-btns .newadd-btns__item:hover,
.newadd-btns .drop-newadd .newadd-btns__item:hover,
.newadd-btns__item:hover {
background: rgba(0, 0, 0, 0.05) !important;
color: var(--color-primary, #f04494) !important;
}
html.dark .newadd-btns .drop-newadd::before,
html.dark .newadd-btns .hover-show-con.drop-newadd::before,
body.dark-theme .newadd-btns .drop-newadd::before,
body.dark-theme .newadd-btns .hover-show-con.drop-newadd::before,
body.theme-dark .newadd-btns .drop-newadd::before,
body.theme-dark .newadd-btns .hover-show-con.drop-newadd::before {
background: #323335 !important;
border-color: rgba(255, 255, 255, 0.08);
}
html.dark .newadd-btns__item,
body.dark-theme .newadd-btns__item,
body.theme-dark .newadd-btns__item {
color: #f1f5f9 !important;
}
html.dark .newadd-btns__item:hover,
body.dark-theme .newadd-btns__item:hover,
body.theme-dark .newadd-btns__item:hover {
color: var(--color-primary, #f04494) !important;
background: rgba(255, 255, 255, 0.06) !important;
}
/* Portaled publish menu (moved to body by header-newadd.js) */
.newadd-btns.is-js-portal:hover > .drop-newadd,
.newadd-btns.is-js-portal:focus-within > .drop-newadd,
.newadd-btns.is-js-portal > .drop-newadd {
/* never paint/show menu while still inside chip wrapper */
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
display: none !important;
}
body > .drop-newadd.hover-show-con,
body > .drop-newadd {
display: none;
position: fixed;
z-index: 2000;
width: 168px;
min-width: 168px;
max-width: 168px;
margin: 0;
padding: 6px 0;
background: #ffffff !important;
color: #222222 !important;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 8px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
box-sizing: border-box;
}
body > .drop-newadd.is-open {
display: block !important;
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
transform: none !important;
}
body > .drop-newadd::before {
content: none !important;
display: none !important;
}
body > .drop-newadd .newadd-btns__item {
display: flex !important;
align-items: center;
gap: 8px;
padding: 8px 14px !important;
color: #222222 !important;
text-decoration: none !important;
font-size: 13px !important;
font-weight: 500;
background: transparent !important;
width: 100% !important;
height: auto !important;
box-sizing: border-box;
}
body > .drop-newadd .newadd-btns__item:hover {
background: rgba(0, 0, 0, 0.05) !important;
color: var(--color-primary, #f04494) !important;
}
html.dark body > .drop-newadd,
body.dark-theme body > .drop-newadd,
body.theme-dark body > .drop-newadd {
background: #323335 !important;
color: #f1f5f9 !important;
border-color: rgba(255, 255, 255, 0.08);
}
html.dark body > .drop-newadd .newadd-btns__item,
body.dark-theme body > .drop-newadd .newadd-btns__item,
body.theme-dark body > .drop-newadd .newadd-btns__item {
color: #f1f5f9 !important;
}
/* Generic hover-show (zibll parity) */
.hover-show {
position: relative;
cursor: pointer;
z-index: 20;
}
.hover-show .hover-show-con {
position: absolute;
top: 100%;
right: 0;
opacity: 0;
visibility: hidden;
transform: translateY(6px);
transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
pointer-events: none;
z-index: 60;
/* invisible bridge so moving mouse into panel doesn't close it */
padding-top: 10px;
}
.hover-show:hover .hover-show-con,
.hover-show:focus-within .hover-show-con {
opacity: 1;
visibility: visible;
transform: translateY(0);
pointer-events: auto;
}
/* Header VIP hover cards — zibll .sub-vip-card
* Markup: .navbar-vip > span.navbar-vip-hover.hover-show > a + .sub-vip-card
* vip-modal.css also styles this; keep both in sync and win display:none.
*/
.navbar-but-cluster .navbar-vip,
.navbar-vip {
position: relative;
z-index: 35;
overflow: visible;
}
.navbar-vip-hover,
.navbar-vip .hover-show {
position: relative;
display: inline-block;
z-index: 35;
overflow: visible;
}
/* Kill vip-modal display:none when using the correct hover wrapper */
.navbar-vip-hover .sub-vip-card,
.navbar-vip .hover-show .sub-vip-card,
.sub-vip-card.hover-show-con,
.hover-show-con.sub-vip-card {
display: none; /* default hidden; shown on hover below */
position: absolute;
top: 100%;
right: 0;
left: auto;
z-index: 1200;
font-size: 12px;
padding: 12px 8px 8px !important; /* top bridge into cards */
background: transparent !important;
border: none !important;
box-shadow: none !important;
white-space: nowrap;
min-width: 0;
width: max-content;
max-width: min(520px, 92vw);
box-sizing: border-box;
/* reset opacity system from generic .hover-show-con when display is used */
opacity: 1;
visibility: visible;
transform: none;
pointer-events: auto;
}
.navbar-vip-hover:hover .sub-vip-card,
.navbar-vip-hover:focus-within .sub-vip-card,
.navbar-vip .hover-show:hover .sub-vip-card,
.navbar-vip .hover-show:focus-within .sub-vip-card,
.hover-show:hover > .sub-vip-card,
.hover-show:focus-within > .sub-vip-card {
display: flex !important;
flex-wrap: wrap;
align-items: stretch;
}
.sub-vip-card .vip-card {
display: inline-block;
vertical-align: top;
width: 240px;
margin: 5px;
padding: 15px;
border-radius: var(--main-radius, 8px);
overflow: hidden;
position: relative;
box-shadow: 0 0 10px var(--main-shadow, rgba(0, 0, 0, 0.12));
box-sizing: border-box;
white-space: normal;
transition: 0.3s;
}
.sub-vip-card .vip-card.vip-theme1,
.sub-vip-card .vip-card.level-1 {
background: linear-gradient(25deg, #e6aa4f 10%, #f1d7ad 70%, #f5b97b 100%);
color: #866127;
}
.sub-vip-card .vip-card.vip-theme2,
.sub-vip-card .vip-card.level-2 {
background: linear-gradient(132deg, #9b7de4 0%, #4f48b8 30%, #624fba 80%, #574dba);
color: #e4e2fb;
}
.sub-vip-card .vip-baicon.abs-center,
.sub-vip-card .vip-baicon {
position: absolute;
font-size: 10em;
left: 55%;
top: 50%;
transform: translate(-50%, -50%);
opacity: 0.12;
pointer-events: none;
line-height: 1;
}
.sub-vip-card .vip-img {
display: none;
}
.sub-vip-card .vip-name {
font-size: 16px;
position: relative;
z-index: 1;
}
.sub-vip-card .vip-name .mr6 {
margin-right: 6px;
}
.sub-vip-card .v-equity,
.sub-vip-card ul.mb10 {
position: relative;
z-index: 1;
margin: 8px 0 12px;
padding: 0;
list-style: none;
text-align: left;
font-size: 12px;
line-height: 1.5;
opacity: 0.95;
}
.sub-vip-card .v-equity > li,
.sub-vip-card ul.mb10 > li {
display: block;
margin: 0 0 6px;
padding: 0;
list-style: none;
}
/* No forced decorative bullets — equity HTML is admin-authored */
.sub-vip-card .v-equity > li::before,
.sub-vip-card .v-equity > li::after,
.sub-vip-card ul.mb10 > li::before,
.sub-vip-card ul.mb10 > li::after {
content: none !important;
display: none !important;
}
/* Non-list equity HTML in hover cards */
.sub-vip-card .v-equity > p {
margin: 0 0 6px;
}
.sub-vip-card .v-equity > p:last-child {
margin-bottom: 0;
}
.sub-vip-card .payvip-button {
font-size: 1em !important;
margin: 0 !important;
display: inline-flex;
align-items: center;
gap: 4px;
background: linear-gradient(135deg, #ff9633 10%, #f14315 100%);
color: #fff;
padding: 4px 15px !important;
border-radius: 999px;
text-decoration: none;
box-shadow: 0 0 10px rgba(26, 22, 15, 0.3);
position: relative;
z-index: 2;
border: 0;
}
.sub-vip-card .payvip-button:hover {
filter: brightness(1.05);
color: #fff;
}
/* Theme toggle — zibll toggle-radius (29px) + absolute FA center, not flex+translate(-50%) */
.navbar-but-cluster .theme-toggle-desktop,
.navbar-but-cluster .toggle-theme,
.navbar-top .toggle-theme.toggle-radius {
display: inline-block;
align-items: unset;
justify-content: unset;
width: 29px;
height: 29px;
padding: 0;
border-radius: 100%;
flex: 0 0 auto;
position: relative;
overflow: hidden;
vertical-align: middle;
box-sizing: border-box;
}
.navbar-but-cluster .theme-toggle-desktop > i,
.navbar-but-cluster .toggle-theme > i,
.navbar-top .toggle-theme.toggle-radius > i {
margin: 0 !important;
line-height: 1 !important;
position: absolute;
left: 0 !important;
right: 0 !important;
top: 50%;
transform: translateY(-50%);
width: 1em;
height: 1em;
text-align: center;
align-items: center;
justify-content: center;
}
.theme-toggle-desktop,
.theme-toggle-mobile,
.toggle-theme {
position: relative;
overflow: hidden;
}
.theme-toggle-desktop .theme-icon-moon,
.theme-toggle-desktop .theme-icon-sun,
.theme-toggle-mobile .theme-icon-moon,
.theme-toggle-mobile .theme-icon-sun,
.toggle-theme .theme-icon-moon,
.toggle-theme .theme-icon-sun {
margin: 0 !important;
line-height: 1 !important;
width: 1em;
height: 1em;
text-align: center;
}
/* Light: moon only. Dark: sun only. (class-driven, not inline style) */
.theme-toggle-desktop .theme-icon-sun,
.theme-toggle-mobile .theme-icon-sun,
.toggle-theme .theme-icon-sun {
display: none !important;
}
.theme-toggle-desktop .theme-icon-moon,
.theme-toggle-mobile .theme-icon-moon,
.toggle-theme .theme-icon-moon {
display: inline-flex !important;
}
html.dark .theme-toggle-desktop .theme-icon-moon,
html.dark .theme-toggle-mobile .theme-icon-moon,
html.dark .toggle-theme .theme-icon-moon,
body.theme-dark .theme-toggle-desktop .theme-icon-moon,
body.theme-dark .theme-toggle-mobile .theme-icon-moon,
body.theme-dark .toggle-theme .theme-icon-moon,
body.dark-theme .theme-toggle-desktop .theme-icon-moon,
body.dark-theme .theme-toggle-mobile .theme-icon-moon,
body.dark-theme .toggle-theme .theme-icon-moon {
display: none !important;
}
html.dark .theme-toggle-desktop .theme-icon-sun,
html.dark .theme-toggle-mobile .theme-icon-sun,
html.dark .toggle-theme .theme-icon-sun,
body.theme-dark .theme-toggle-desktop .theme-icon-sun,
body.theme-dark .theme-toggle-mobile .theme-icon-sun,
body.theme-dark .toggle-theme .theme-icon-sun,
body.dark-theme .theme-toggle-desktop .theme-icon-sun,
body.dark-theme .theme-toggle-mobile .theme-icon-sun,
body.dark-theme .toggle-theme .theme-icon-sun {
display: inline-flex !important;
}
/* float commerce */
.float-btn-shop-cart {
position: relative;
}
.float-btn-shop-cart badge,
.float-btn-shop-cart [cart-count] {
position: absolute;
top: -4px;
right: -4px;
min-width: 16px;
height: 16px;
padding: 0 4px;
border-radius: 10px;
background: #e74c3c;
color: #fff;
font-size: 11px;
line-height: 16px;
text-align: center;
}
.float-btn-shop-cart badge:empty,
.float-btn-shop-cart [cart-count=""] {
display: none;
}
.float-btn.pay-vip,
.float-right .float-btn.pay-vip {
color: var(--this-color, #f5a623);
}
.float-right .float-btn.pay-vip:hover {
color: var(--this-color, #f5a623);
opacity: 0.9;
}
.float-right .float-btn > i {
margin: 0 !important;
line-height: 1;
font-size: 1.1em;
}
@media (max-width: 520px) {
.navbar-but-cluster {
gap: 6px;
}
.navbar-but-cluster .navbar-cta,
.navbar-but-cluster a.but {
padding: 6px 10px;
font-size: 12px;
}
.sub-vip-card .vip-card {
width: min(220px, 42vw);
}
}