Files
wordpress-theme-aksrt/assets/css/frontend/comments/mobile-item.css
T
Claude 4325ce0c1c fix(ui): render user level icon inline beside the name
The level (等级) badge was wrapping to its own line below the username and
rendering at the intrinsic PNG size in most surfaces. Centralize the badge
sizing after zibll's `.img-icon` (height: 1.1em, inline-block) in base.css so
every route gets the same compact inline badge, and keep the name row from
flex-wrapping.

- Add shared `.aksrt-user-level-icon / .aksrt-identity-medal` rule + nowrap name
  rows in base.css (loaded on all routes).
- Header dropdown: append the level icon next to the display name (was a
  separate badges row); constrain the name to ellipsis so the badge never wraps.
- User center profile header & author hero: render the level icon inside the
  <h1> name row; drop the duplicate level chip from the signals row.
- Single article author bar / after-box author card: nowrap the name row and
  size the level icon to 1.2em (was unstyled → intrinsic PNG size).
- Comments: inner <name> nowrap with a name clamp; medal sized to 1em.
- Consolidate the per-route `.aksrt-user-level-icon` duplicates in
  user-center/level.css and profile/layout.css onto the shared rule.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 18:13:41 +08:00

114 lines
5.0 KiB
CSS

/* Zibll 1:1 FixedInput / virtual-input / item chrome */
.virtual-input { display: none; }
@media (max-width: 767.98px) {
.virtual-input {
display: flex; align-items: center; gap: 10px;
padding: 10px 12px; margin-bottom: 12px; border-radius: 999px;
background: var(--surface-1, #fff);
box-shadow: var(--shadow-sm, 0 1px 4px rgba(0,0,0,.06));
cursor: pointer;
}
.virtual-input .avatar-img { width: 32px; height: 32px; border-radius: 50%; }
.virtual-input .simulation { flex: 1; color: var(--color-ink-4, #999); font-size: 13px; }
#respond.mobile-fixed {
position: fixed; left: 0; right: 0; bottom: 0; z-index: 1050;
background: var(--surface-1, #fff);
border-radius: 12px 12px 0 0;
box-shadow: 0 -8px 28px rgba(0,0,0,.12);
padding: 12px 14px max(12px, env(safe-area-inset-bottom));
transform: translateY(110%); transition: transform .25s ease;
max-height: 85vh; overflow: auto;
}
#respond.mobile-fixed.show { transform: translateY(0); }
#respond.mobile-fixed .fixed-body {
position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: -1;
opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
#respond.mobile-fixed.show .fixed-body { opacity: 1; pointer-events: auto; }
#respond.mobile-fixed .comt-title { display: none; }
}
.comment-header .author-box { display: flex; align-items: center; gap: 8px; width: 100%; }
.comment-header .author-box name,
.comment-header .author-box .flex1 { flex: 1; min-width: 0; }
/* Keep name + level badge on one line; clamp the name so the badge never wraps. */
.comment-header .author-box name { flex-wrap: nowrap; }
.comment-header .author-box .aksrt-comment__author { max-width: 14em; }
.comment-header .aksrt-comment__like,
.comment-header .action-comment-like {
margin-left: auto; display: inline-flex; align-items: center; gap: 4px;
color: var(--color-ink-3, #888); text-decoration: none; font-size: 13px;
}
.comment-header .aksrt-comment__like.is-active { color: var(--color-primary, #2060ef); }
.comt-meta {
display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
font-size: 12px; margin-top: 6px;
}
.comt-meta .reply-link a, .comt-meta .comment-reply-link { color: var(--color-ink-3, #777); }
.comment-action-dropdown .dropdown-menu { min-width: 140px; padding: 6px 0; }
.comment-action-dropdown .dropdown-menu a {
display: block; padding: 6px 14px; color: var(--color-ink, #333);
text-decoration: none; font-size: 13px;
}
.comment-action-dropdown .dropdown-menu a:hover { background: var(--surface-2, #f5f5f5); }
.smilie-icon { width: 30px; height: 30px; vertical-align: -8px; display: inline-block; }
.comment-inline-img, .comment-content .box-img {
max-width: 260px; max-height: 350px; border-radius: 6px; display: block; margin: 6px 0;
}
.comment-code {
background: var(--surface-2, #f6f8fa); padding: 10px 12px; border-radius: 6px;
overflow: auto; font-size: 12px;
}
.commentlist .children { margin-left: 86px; padding-left: 0; list-style: none; }
.commentlist .children .children { margin-left: 23px; }
.commentlist .children .comt-avatar,
.commentlist .children .avatar-img.comt-avatar { width: 26px !important; height: 26px !important; }
.input-expand-wrap { display: inline-block; position: relative; }
.input-expand-wrap .dropdown-menu,
.input-expand-wrap .dropdown-smilie {
display: none; position: absolute; bottom: 100%; left: 0; z-index: 20;
background: var(--surface-1, #fff); box-shadow: 0 6px 24px rgba(0,0,0,.12);
border-radius: 8px; padding: 8px;
}
.input-expand-wrap.open > .dropdown-menu,
.input-expand-wrap.open .dropdown-smilie,
.dropup.open > .dropdown-menu { display: block; }
.dropdown-smilie {
display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px;
max-width: 280px; max-height: 200px; overflow: auto;
}
.dropdown-smilie a img { width: 28px; height: 28px; }
.quick-reply-item {
display: block; padding: 6px 10px; color: var(--color-ink, #333);
text-decoration: none; font-size: 13px;
}
.quick-reply-item:hover { background: var(--surface-2, #f5f5f5); }
.comt-ctrl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.comt-tips-left { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; flex: 1; }
.comt-tips-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
#comments .comt-title { width: 90px; }
#comments .comt-title .comt-avatar img,
#comments .comt-avatar .avatar-img { width: 60px; height: 60px; border-radius: 50%; }
#comments .comt-box #comment { min-height: 88px; resize: vertical; }
@media (min-width: 768px) { .hide-pc { display: none !important; } }
/* IP geo badges */
.comt-meta .comment-city-badge,
.comt-meta .aksrt-ip-geo-badge {
margin-left: 0.35em;
vertical-align: middle;
}
.aksrt-author-hero__identity .aksrt-ip-geo-badge,
.uc-header__meta .aksrt-ip-geo-badge,
.article-avatar .aksrt-ip-geo-badge {
margin-left: 0.35em;
margin-right: 0.15em;
vertical-align: middle;
}
.aksrt-author-hero__identity {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.35rem;
margin-top: 0.35rem;
}