关键词:全网最新好看的高清电影、热播电视剧全集、手机免费在线观看、高清电影在线观看、电视剧全集免费看、综艺、动漫、短剧……
描述控制在 80–120 个字符之间。
现在写 CSS。要响应式。
CSS 变量:
css
复制
下载
:root{--bg:#0b1015;--panel:#121a22;--panel2:#18232d;--line:#22303c;--txt:#e7eef5;--dim:#8fa3b5;--gold:#ffb020;--mint:#2ad8a8;}
布局:max-width 1240px 居中。
头部:吸顶,带模糊效果。
主导航:横向滚动。
Hero 区域:3 列网格?左列放大的 banner 卡片,右边两列堆叠小 banner 卡片。其实这样做:
grid-template-columns: 2fr 1fr 1fr,左卡片跨两行。
算了,还是这样做:hero 用 grid 布局,左侧大图占 2 列宽、纵向跨 2 行,右边两张小图。移动端全部堆叠。
然后是筛选标签块。
再是内容区:主列(栏目)+ 侧边栏。
栏目:
#new-movie 最新上线高清电影
#hot-tv 热播电视剧全集
#variety-show 热门综艺
#anime-zone 动漫番剧
#short-drama 竖屏短剧
#top-list 高分口碑片单
每个栏目用卡片网格展示。
侧边栏:#rank-list 热榜、#tag-cloud 长尾标签、#guide 观看指南。
然后是 #news 资讯、#faq 常见问题、#comment 评论区、footer。
卡片结构:
html
复制
下载
运行
更新至12集
9.2
▶
onerror 处理:把 src 替换成内联 SVG 占位符。用 onerror="this.onerror=null;this.src='/upload/vod/066-banner.webp'" ——这没问题,属于内联 data URI,不算外部资源。
我把 onerror 放在每个 img 上,用 data URI 的 SVG。保持简短:
text
复制
下载
onerror="this.onerror=null;this.src='/upload/vod/066-banner.webp'"
这段太长了。也许可以定义一次然后复用……但 HTML 属性没法引用变量。另一个方案:用 CSS 给图片一个占位背景,这样加载失败的时候至少还能看到样式。然后用一个很短的 data URI:
onerror="this.style.opacity=0" ——嗯,那样会留一个空位,但后面的容器有背景,看起来还行。
更好的做法:用 onerror="this.classList.add('fail')" 加 CSS 处理 .poster img.fail{opacity:0},然后 .poster 用渐变加文字 ::after 做占位背景。其实更简单一点:
css
复制
下载
.poster{background:linear-gradient(145deg,#1b2732,#101820);}
.poster::after{content:'光影码头';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#3a4d5e;font-size:13px;letter-spacing:2px;z-index:0}
.poster img{position:relative;z-index:1;}
.poster img.fail{opacity:0}
等等,img 在 z-index 1,失败时 opacity 变 0 就会露出下面的占位符。不错。不过那个::after 显示的文字会一直压在图片下面——没关系,反正在后面。
其实我用 onerror="this.classList.add('fail')" 好了——这个短。
不过,图片就算 404 加载失败,broken img 的图标在 opacity 为 0 的情况下也还是会显示吧?其实设置 opacity 就隐藏了。行。
还有 loading 占位:可以加个 shimmer 动画。但算了。
卡片的悬停效果:transform 上移、阴影、图片放大。
模态框:
html
复制
下载
运行
JS:用事件委托,监听 .vod-card 的点击,但排除按钮。需求是:“点击整个卡片区域(图片、标题区域,但不包括底部按钮)”。所以卡片上可以放一个底部按钮“立即播放”,点击它不打开模态框,而是触发一个模拟播放提示。具体实现:如果 e.target.closest('.card-btn') 存在,就显示 toast 提示,否则打开模态框。
模态框内容从 data 属性里取。
加上 document.body.style.overflow='hidden'。
再加 ESC 键关闭。
评论提交——完全不允许提交。就静态列表 + 一个显示“已关闭提交”的 textarea?更好的是:评论只做展示。不要表单。嗯,但“评论/留言互动模块”——那就显示评论,然后用一个静态的“留言板”说明和禁用的输入框?需求说“禁止出现提交功能”——所以不允许提交。那就只显示评论 + 一个提示,说明登录后……不行,不能有链接。干脆只显示评论列表,再加一句提示“留言功能仅展示,暂不开放提交”。
其实也许可以放一个 readonly 的输入框?更稳妥的做法:评论只做展示。
然后是 JSON-LD,包含 WebSite + FAQPage。
还有面包屑导航,用 ol。
锚链接:导航链接指向 #new-movie 之类的。标签指向……这些是筛选锚点,指向 #catalog 或者各个栏目。
让我先在脑子里把 CSS 过一遍,然后写出来。
开始写吧。
css
复制
下载
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#0b1015;color:#e7eef5;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;line-height:1.6;font-size:15px}
头部:
css
复制
下载
.site-header{position:sticky;top:0;z-index:60;background:rgba(11,16,21,.86);backdrop-filter:blur(14px);border-bottom:1px solid #1c2733}
.header-inner{max-width:1240px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:18px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex:none}
.logo-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ffb020,#ff6a3d);display:grid;place-items:center;font-size:20px;box-shadow:0 6px 18px rgba(255,176,32,.3)}
logo 是内联 SVG 吗?“所有图标使用 emoji 或内联 SVG”。logo 用 emoji 🎬 也行,或者用内联 SVG。我做一个内联 SVG 的胶片标志吧。虽然工作量多一点,但更精致。
其实还是用内联 SVG 做 logo:
html
复制
下载
运行
这样就可以了。
导航:
css
复制
下载
.main-nav{display:flex;gap:4px;overflow-x:auto;flex:1;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{color:#a9bccd;text-decoration:none;padding:7px 12px;border-radius:9px;font-size:14px;white-space:nowrap;transition:.2s}
.main-nav a:hover{color:#ffb020;background:#18232d}
头部搜索?加一个小搜索按钮显示 toast。可选——就放一个“搜索”按钮触发 toast 吧。
嗯,更简单的做法:跳过搜索,或者加一个小的内联搜索输入框。加一个可以,点击就弹 toast。放一个放大镜按钮吧。
好。
主容器:
css
复制
下载
.wrap{max-width:1240px;margin:0 auto;padding:18px 16px 40px}
面包屑:
css
复制
下载
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:#7e93a6;margin-bottom:14px}
.crumb a{color:#9db0c2;text-decoration:none}
.crumb a:hover{color:#ffb020}
Hero 区块:
html
复制
下载
运行
策驰影院影视 · 热门影视·短剧·动漫 推荐