Files
mama-box/topic/_shared/article.css

192 lines
14 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 孕期专题页共用样式(2026-11-01):从 topic/buji(叶酸、DHA、铁、钙要不要补?)抽出来,主色走 --c / --cr / --cb,
由 article.js 按 TOPIC.color 写到 :root。版式只改这里,18 个「其他妈妈也在搜」专题一起变。 */
:root{--c:#2E7CF6;--cr:46,124,246;--cb:#EAF2FF;--c4:rgba(var(--cr),.04);--h:#1F2329;--t:#4E5969;--s:#86909C;--bg2:#F7F8FA;--ln:#EEF0F3}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden;background:#fff;color:var(--t);font:15px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
#scroll{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
img{display:block;max-width:100%}
button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
b{color:var(--h)}
.num{font-variant-numeric:tabular-nums;font-family:"DIN Alternate","Helvetica Neue",Arial,sans-serif}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hide{position:absolute;width:0;height:0;overflow:hidden}
/* 顶栏 */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;height:48px;padding:0 8px;padding-top:env(safe-area-inset-top);background:transparent;border-bottom:1px solid transparent;transition:background .2s,border-color .2s}
.bar.on{background:#fff;border-bottom-color:var(--ln)}
.bar .back{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--h)}
.bar .back .ic{width:22px;height:22px}
.bar .t{font-weight:600;font-size:16px;color:var(--h)}
/* Hero:浅渐变 + 大圆装饰 + 插画右侧出血 + 结论卡压在插画上 */
.top{position:relative;overflow:hidden;margin-top:-48px;padding-top:48px;background:linear-gradient(160deg,var(--cb) 0%,#fff 70%)}
.top::before,.top::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.top::before{width:260px;height:260px;right:-90px;top:-70px;background:rgba(var(--cr),.08)}
.top::after{width:150px;height:150px;left:-60px;top:250px;background:rgba(var(--cr),.06)}
.hero{position:relative;z-index:1;padding:8px 20px 0}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--c)}
.hero h1{margin-top:6px;font-size:28px;font-weight:800;line-height:1.32;color:var(--h);letter-spacing:-.3px}
.hl{background:linear-gradient(transparent 62%,rgba(var(--cr),.2) 0);padding:0 2px}
.hero .sub{margin-top:6px;font-size:13.5px;color:var(--s)}
.pic{position:relative;z-index:1;margin:16px -1px 0 22%;height:190px;border-radius:24px 0 0 24px;overflow:hidden;background:var(--cb)}
.pic img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.answer{position:relative;z-index:2;margin:-40px 16px 0;padding:14px 16px 16px;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(var(--cr),.10)}
.pill{display:inline-block;font-size:12px;font-weight:600;line-height:22px;padding:0 10px;border-radius:99px;background:var(--cb);color:var(--c)}
.answer p{margin-top:8px;font-size:17px;font-weight:700;line-height:1.6;color:var(--h)}
.answer em{font-style:normal;color:var(--c)}
/* 区块通用 */
.blk{margin:40px 16px 0}
.blk.tint{padding:22px 16px;border-radius:24px;background:var(--bg2)}
.blk.soft{padding:22px 16px;border-radius:24px;background:var(--c4);border:1px solid rgba(var(--cr),.08)}
.sh{display:flex;align-items:baseline;gap:8px}
.sh .no{font-size:13px;font-weight:800;color:var(--c);letter-spacing:.5px}
.sh .en{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:1.2px;color:#C2C8D0}
.sh h2{font-size:19px;font-weight:800;line-height:1.4;color:var(--h)}
.key{margin-top:4px;font-size:14.5px;font-weight:700;color:var(--c)}
/* 记住这 3 点:描边数字卡 */
.three{margin:36px 16px 0}
.three h2{font-size:19px;font-weight:800;color:var(--h)}
.nc{display:grid;gap:10px;margin-top:12px}
.nc li{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--ln)}
.nc .n{flex:none;width:34px;font-size:38px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.4px var(--c);text-align:center}
.nc b{display:block;font-size:16px;line-height:1.45}
.nc span{display:block;font-size:13px;color:var(--s);line-height:1.55}
/* 01 卡片矩阵 */
.mx{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.nu{position:relative;padding:14px 13px 13px;border-radius:18px;background:#fff;border:1px solid var(--ln);overflow:hidden}
.nu.must{border-color:rgba(var(--cr),.35);box-shadow:0 6px 18px rgba(var(--cr),.10)}
.nu-h{display:flex;align-items:center;justify-content:space-between;gap:4px}
.nu-h b{font-size:17px;font-weight:800}
.vd{font-size:11.5px;font-weight:700;line-height:20px;padding:0 8px;border-radius:99px;background:var(--bg2);color:var(--t);white-space:nowrap}
.must .vd{background:var(--c);color:#fff}
.nu .lb{display:block;margin-top:10px;font-size:11.5px;color:var(--s);line-height:1.4}
.nu .amt{display:block;font-size:22px;font-weight:800;line-height:1.25;color:var(--h);white-space:nowrap}
.nu .amt small{font-size:12px;font-weight:600;color:var(--s);margin-left:2px}
.must .amt{color:var(--c)}
.nu .when{display:flex;align-items:flex-start;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--ln);font-size:12.5px;line-height:1.5;color:var(--t)}
.nu .when .ic{width:14px;height:14px;margin-top:3px;color:var(--c)}
.why{margin-top:12px}
.why summary{list-style:none;display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--c);cursor:pointer}
.why summary::-webkit-details-marker{display:none}
.why summary .ic{width:16px;height:16px;transition:transform .25s}
.why[open] summary .ic{transform:rotate(180deg)}
.why p{margin-top:6px;font-size:13.5px;line-height:1.7;color:var(--t)}
/* 02 按孕周横向条 */
.me{display:none;margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--c);background:var(--cb);border-radius:12px;padding:6px 12px}
.me.on{display:block}
.gt{position:relative;margin-top:14px;padding:12px 10px 10px;border-radius:20px;background:#fff;border:1px solid var(--ln)}
.gr{display:grid;grid-template-columns:40px repeat(4,1fr);align-items:center;column-gap:0}
.gr+.gr{margin-top:10px}
.gr.hd{margin-bottom:2px}
.gr.hd span{text-align:center;font-size:12px;font-weight:600;color:var(--s);line-height:1.3;white-space:nowrap}
.gr .nm{font-size:13px;font-weight:700;color:var(--h)}
.bars{grid-column:2/6;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;height:26px}
.bars i{display:flex;align-items:center;justify-content:center;border-radius:8px;font-style:normal;font-size:11.5px;font-weight:700;color:#fff;background:var(--c);white-space:nowrap;font-variant-numeric:tabular-nums}
.bars i.lt{background:var(--cb);color:var(--c)}
.bars i.dash{background:transparent;border:1.5px dashed rgba(var(--cr),.4);color:var(--c);font-weight:600}
.bars i.o1{background:rgba(var(--cr),.55)}.bars i.o2{background:rgba(var(--cr),.78)}
.s2{grid-column:span 2}
.col-hl{position:absolute;top:6px;bottom:6px;border-radius:14px;background:rgba(var(--cr),.07);border:1px solid rgba(var(--cr),.18);pointer-events:none;display:none}
.col-hl.on{display:block}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--s)}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend i{width:14px;height:8px;border-radius:3px;background:var(--c)}
.legend i.lt{background:var(--cb)}
.legend i.dash{background:transparent;border:1.5px dashed rgba(var(--cr),.5)}
/* 03 食补 vs 补剂 */
.vs{margin-top:14px;border-radius:20px;background:#fff;border:1px solid var(--ln);overflow:hidden}
.vs-h{display:grid;grid-template-columns:40px 1.15fr 1fr;gap:6px;align-items:center;padding:10px 10px 8px;background:var(--bg2)}
.vs-h span{display:flex;padding-left:8px;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--h)}
.vs-h .ic{width:18px;height:18px;color:var(--c)}
.vr{display:grid;grid-template-columns:40px 1.15fr 1fr;gap:6px;align-items:stretch;padding:8px 8px 8px 10px}
.vr+.vr{border-top:1px solid var(--ln)}
.vr .nm{align-self:center;font-size:13px;font-weight:800;color:var(--h)}
.vr .cl{padding:7px 8px;border-radius:12px;font-size:12.5px;line-height:1.5;color:var(--s);background:transparent}
.vr .cl.win{background:var(--cb);color:var(--h);font-weight:600}
.vr .cl.win::before{content:"";display:inline-block;width:6px;height:6px;margin:0 5px 2px 0;border-radius:50%;background:var(--c);vertical-align:middle}
.doc{display:flex;gap:12px;align-items:center;margin-top:18px}
.doc img{flex:none;width:64px;height:64px;border-radius:16px;object-fit:cover}
.doc b{display:block;font-size:15px;line-height:1.4}
.doc span{display:block;font-size:12.5px;color:var(--s);line-height:1.55}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tags span{font-size:13px;line-height:1.4;padding:6px 12px;border-radius:99px;background:#fff;border:1px solid var(--ln);color:var(--h);white-space:nowrap}
/* 04 自查 */
.tool{margin-top:14px;padding:16px 14px;border-radius:20px;background:#fff;border:1px solid var(--ln)}
.q+.q{margin-top:14px}
.q-t{font-size:14.5px;font-weight:700;color:var(--h)}
.q-t .num{color:var(--c);margin-right:6px}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.opt{padding:6px 13px;border-radius:99px;background:var(--bg2);border:1px solid transparent;font-size:13.5px;line-height:1.5;color:var(--t);white-space:nowrap;transition:all .15s}
.opt:active{transform:scale(.97)}
.opt.on{background:var(--cb);border-color:var(--c);color:var(--c);font-weight:600}
.hint{margin-top:14px;font-size:12.5px;color:var(--s)}
.res{display:none;margin-top:16px;padding-top:14px;border-top:1px solid var(--ln)}
.res.on{display:block}
.res h3{font-size:15px;font-weight:700;color:var(--h)}
.res ul{list-style:none;margin-top:6px}
.res li{display:flex;gap:10px;align-items:flex-start;padding:8px 0}
.res li i{flex:none;margin-top:2px;font-style:normal;font-size:12px;line-height:20px;padding:0 8px;border-radius:99px;white-space:nowrap;min-width:52px;text-align:center;background:var(--bg2);color:var(--s)}
.res li.a i{background:var(--c);color:#fff}
.res li.t i{background:var(--cb);color:var(--c)}
.res li b{display:block;font-size:14px;line-height:1.5}
.res li span{display:block;font-size:12.5px;color:var(--s);line-height:1.55}
.res-note{margin-top:6px;font-size:12px;color:var(--s)}
/* 推荐工具 */
#tools{margin:40px 16px 0}
#tools.tt-wrap{margin:40px 16px 0}
@media (max-width:370px){.blk.tint,.blk.soft{padding:20px 12px}.vr .cl{font-size:12px}}
/* 来源 */
.src{margin:28px 16px 0;border-radius:18px;background:var(--bg2)}
.src summary{list-style:none;padding:13px 16px;font-size:14px;font-weight:600;color:var(--h);display:flex;align-items:center;gap:6px}
.src summary::-webkit-details-marker{display:none}
.src summary .ic{margin-left:auto;width:16px;height:16px;color:var(--s);transition:transform .25s}
.src[open] summary .ic{transform:rotate(180deg)}
.src ul{list-style:none;padding:0 16px 12px}
.src li{padding:8px 0;border-top:1px solid var(--ln);font-size:12.5px;line-height:1.65;color:var(--t)}
.foot{margin:14px 20px 0;font-size:12px;color:var(--s);text-align:center;line-height:1.7}
/* 进场 fade-up,子项 60ms 错开 */
.fade,.fade .fi{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
.fade.in,.fade.in .fi{opacity:1;transform:none}
.fade .fi{opacity:0}
.nu:active,.nc li:active{transform:scale(.98)}
@media (prefers-reduced-motion:reduce){.fade,.fade .fi{opacity:1;transform:none;transition:none}}
/* 以下为通用模板补充的区块:清单 / 步骤 / 两栏对照通用列头 */
.ls{display:grid;gap:10px;margin-top:14px}
.ls li{list-style:none;display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:18px;background:#fff;border:1px solid var(--ln)}
.ls li i{flex:none;margin-top:2px;font-style:normal;font-size:12px;font-weight:700;line-height:22px;padding:0 9px;border-radius:99px;min-width:52px;text-align:center;white-space:nowrap;background:var(--cb);color:var(--c)}
.ls li.warn i{background:#FFF3E0;color:#D9822B}
.ls li.no i,.ls li.bad i{background:#FDECEC;color:#D9483B}
.ls li b{display:block;font-size:15px;line-height:1.5}
.ls li span{display:block;font-size:13px;color:var(--s);line-height:1.6}
.st{margin-top:14px;counter-reset:st}
.st li{list-style:none;position:relative;padding:0 0 18px 44px}
.st li:last-child{padding-bottom:0}
.st li::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-size:14px;font-weight:800;font-family:"DIN Alternate","Helvetica Neue",Arial,sans-serif}
.st li::after{content:"";position:absolute;left:14.5px;top:34px;bottom:4px;width:1px;background:rgba(var(--cr),.25)}
.st li:last-child::after{display:none}
.st b{display:block;font-size:15.5px;line-height:30px}
.st span{display:block;font-size:13.5px;color:var(--t);line-height:1.65}
.vs-h span.e{padding-left:0}
.vs-note{margin-top:10px;font-size:12.5px;color:var(--s);line-height:1.6}
.doc .di{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--cb);color:var(--c)}
.doc .di .ic{width:26px;height:26px}
.res li.k i{background:var(--bg2);color:var(--s)}
.s3{grid-column:span 3}.s4{grid-column:span 4}
/* 横条格子字多时允许换两行,别挤出格 */
.bars{height:auto;min-height:26px}
.bars i{min-height:26px;padding:3px 3px;white-space:normal;text-align:center;line-height:1.25;font-size:11px;word-break:break-all}
/* 11-02 品牌落款:兜爸心选 logo + 孕育知识整理 */
.tp-brand{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px auto 22px;font-size:11.5px;color:#C29A8F;letter-spacing:.06em}
.tp-brand img{width:58px;height:auto;opacity:.6}.tp-brand i{width:1px;height:10px;background:#E5CFC8}