文章资讯列表页面
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>资讯列表</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
/* 全局样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', 'Microsoft YaHei', sans-serif;
}
body {
background-color: #f8f9fa;
color: #333;
line-height: 1.6;
}
/* 主容器 */
.container {
display: flex;
max-width: 1200px;
margin: 20px auto;
background: white;
border-radius: 12px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
overflow: hidden;
transition: all 0.3s ease;
}
/* 左侧分类栏 */
.category-sidebar {
width: 220px;
background: linear-gradient(135deg, #f1e6ff, #ffffff);
padding: 25px 0;
border-right: 1px solid #eee;
position: relative;
z-index: 1;
}
.category-sidebar::before {
content: '';
position: absolute;
top: 0;
right: -5px;
width: 10px;
height: 100%;
background: linear-gradient(to right, rgba(102, 0, 255, 0.1), transparent);
z-index: -1;
}
.category-header {
padding: 0 20px 15px;
font-size: 18px;
font-weight: 600;
color: #6600FF;
border-bottom: 1px solid rgba(102, 0, 255, 0.1);
margin-bottom: 15px;
display: flex;
align-items: center;
}
.category-header i {
margin-right: 10px;
font-size: 20px;
}
.category-list {
list-style: none;
}
.category-item {
padding: 12px 25px;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
display: flex;
align-items: center;
}
.category-item:hover {
background: rgba(102, 0, 255, 0.05);
}
.category-item.active {
background: rgba(102, 0, 255, 0.1);
color: #6600FF;
font-weight: 500;
}
.category-item.active::before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 3px;
background: #6600FF;
border-radius: 0 3px 3px 0;
}
.category-item i {
width: 24px;
text-align: center;
margin-right: 10px;
font-size: 14px;
}
/* 右侧内容区 */
.content-area {
flex: 1;
padding: 25px 30px;
}
.content-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid #eee;
}
.content-title {
font-size: 22px;
font-weight: 600;
color: #6600FF;
}
.search-box {
position: relative;
width: 250px;
}
.search-box input {
width: 100%;
padding: 8px 15px 8px 35px;
border: 1px solid #ddd;
border-radius: 20px;
outline: none;
transition: all 0.3s ease;
font-size: 14px;
}
.search-box input:focus {
border-color: #6600FF;
box-shadow: 0 0 0 3px rgba(102, 0, 255, 0.1);
}
.search-box i {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
color: #999;
}
/* 文章列表 */
.article-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
margin-bottom: 30px;
}
.article-card {
background: white;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
position: relative;
}
.article-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(102, 0, 255, 0.1);
}
.article-image {
height: 160px;
overflow: hidden;
}
.article-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.article-card:hover .article-image img {
transform: scale(1.05);
}
.article-content {
padding: 18px;
}
.article-title {
font-size: 16px;
font-weight: 600;
margin-bottom: 10px;
color: #333;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.4;
}
.article-excerpt {
font-size: 14px;
color: #666;
margin-bottom: 15px;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.5;
}
.article-meta {
display: flex;
justify-content: space-between;
font-size: 12px;
color: #999;
}
.article-date {
display: flex;
align-items: center;
}
.article-date i {
margin-right: 5px;
font-size: 11px;
}
.article-views {
display: flex;
align-items: center;
}
.article-views i {
margin-right: 5px;
font-size: 11px;
}
/* 分页 */
.pagination {
display: flex;
justify-content: center;
margin-top: 30px;
}
.pagination-list {
display: flex;
list-style: none;
}
.pagination-item {
margin: 0 5px;
}
.pagination-link {
display: flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: white;
color: #666;
text-decoration: none;
font-size: 14px;
transition: all 0.3s ease;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
.pagination-link:hover {
background: rgba(102, 0, 255, 0.1);
color: #6600FF;
}
.pagination-link.active {
background: #6600FF;
color: white;
font-weight: 500;
}
.pagination-link.disabled {
opacity: 0.5;
cursor: not-allowed;
}
/* 动画效果 */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.article-card {
animation: fadeIn 0.5s ease forwards;
opacity: 0;
}
.article-card:nth-child(1) { animation-delay: 0.1s; }
.article-card:nth-child(2) { animation-delay: 0.2s; }
.article-card:nth-child(3) { animation-delay: 0.3s; }
.article-card:nth-child(4) { animation-delay: 0.4s; }
.article-card:nth-child(5) { animation-delay: 0.5s; }
.article-card:nth-child(6) { animation-delay: 0.6s; }
/* 响应式调整 */
@media (max-width: 768px) {
.container {
flex-direction: column;
}
.category-sidebar {
width: 100%;
padding: 15px;
}
.category-list {
display: flex;
overflow-x: auto;
padding-bottom: 10px;
}
.category-item {
white-space: nowrap;
padding: 8px 15px;
border-radius: 20px;
margin-right: 8px;
background: rgba(102, 0, 255, 0.05);
}
.category-item.active::before {
display: none;
}
.content-area {
padding: 20px;
}
.content-header {
flex-direction: column;
align-items: flex-start;
}
.content-title {
margin-bottom: 15px;
}
.search-box {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<!-- 左侧分类栏 -->
<div class="category-sidebar">
<div class="category-header">
<i class="fas fa-list-ul"></i>
<span>分类筛选</span>
</div>
<ul class="category-list">
<li class="category-item active">
<i class="fas fa-newspaper"></i>
<span>全部资讯</span>
</li>
<li class="category-item">
<i class="fas fa-chart-line"></i>
<span>财经新闻</span>
</li>
<li class="category-item">
<i class="fas fa-laptop-code"></i>
<span>科技动态</span>
</li>
<li class="category-item">
<i class="fas fa-heartbeat"></i>
<span>健康生活</span>
</li>
<li class="category-item">
<i class="fas fa-futbol"></i>
<span>体育赛事</span>
</li>
<li class="category-item">
<i class="fas fa-film"></i>
<span>娱乐八卦</span>
</li>
<li class="category-item">
<i class="fas fa-graduation-cap"></i>
<span>教育资讯</span>
</li>
<li class="category-item">
<i class="fas fa-plane"></i>
<span>旅游攻略</span>
</li>
</ul>
</div>
<!-- 右侧内容区 -->
<div class="content-area">
<div class="content-header">
<h2 class="content-title">最新资讯</h2>
<div class="search-box">
<i class="fas fa-search"></i>
<input type="text" placeholder="搜索资讯...">
</div>
</div>
<div class="article-list">
<!-- 文章卡片1 -->
<div class="article-card">
<div class="article-image">
<img src="https://page.mixinnet.cn/api/placeholder?w=600&h=300" alt="文章图片">
</div>
<div class="article-content">
<h3 class="article-title">人工智能技术在各行业的应用现状与未来发展趋势分析</h3>
<p class="article-excerpt">随着AI技术的快速发展,越来越多的行业开始应用人工智能解决方案。本文详细分析了AI在医疗、金融、制造等领域的应用案例,并展望了未来五年的发展趋势...</p>
<div class="article-meta">
<span class="article-date"><i class="far fa-clock"></i> 2023-06-15</span>
<span class="article-views"><i class="far fa-eye"></i> 2.4k</span>
</div>
</div>
</div>
<!-- 文章卡片2 -->
<div class="article-card">
<div class="article-image">
<img src="https://page.mixinnet.cn/api/placeholder?w=600&h=300" alt="文章图片">
</div>
<div class="article-content">
<h3 class="article-title">全球金融市场波动加剧:投资者应该如何应对当前经济形势</h3>
<p class="article-excerpt">近期全球金融市场出现剧烈波动,美联储加息预期、地缘政治风险等因素共同作用。专家建议投资者采取多元化策略,关注防御性资产...</p>
<div class="article-meta">
<span class="article-date"><i class="far fa-clock"></i> 2023-06-14</span>
<span class="article-views"><i class="far fa-eye"></i> 1.8k</span>
</div>
</div>
</div>
<!-- 文章卡片3 -->
<div class="article-card">
<div class="article-image">
<img src="https://page.mixinnet.cn/api/placeholder?w=600&h=300" alt="文章图片">
</div>
<div class="article-content">
<h3 class="article-title">夏季健康指南:科学预防中暑与保持身体水分的实用技巧</h3>
<p class="article-excerpt">随着气温升高,中暑风险增加。本文提供了10个科学有效的防暑降温方法,包括如何正确补水、识别中暑早期症状以及适合夏季的运动方式...</p>
<div class="article-meta">
<span class="article-date"><i class="far fa-clock"></i> 2023-06-13</span>
<span class="article-views"><i class="far fa-eye"></i> 3.2k</span>
</div>
</div>
</div>
<!-- 文章卡片4 -->
<div class="article-card">
<div class="article-image">
<img src="https://page.mixinnet.cn/api/placeholder?w=600&h=300" alt="文章图片">
</div>
<div class="article-content">
<h3 class="article-title">新能源汽车市场持续升温:2023年最值得关注的5款车型</h3>
<p class="article-excerpt">随着环保意识增强和政策支持,新能源汽车销量持续增长。我们盘点了今年即将上市或已经上市的5款热门新能源车型,从性能、价格、续航等方面进行全面比较...</p>
<div class="article-meta">
<span class="article-date"><i class="far fa-clock"></i> 2023-06-12</span>
<span class="article-views"><i class="far fa-eye"></i> 2.1k</span>
</div>
</div>
</div>
<!-- 文章卡片5 -->
<div class="article-card">
<div class="article-image">
<img src="https://page.mixinnet.cn/api/placeholder?w=600&h=300" alt="文章图片">
</div>
<div class="article-content">
<h3 class="article-title">远程办公新趋势:混合工作模式如何提高团队效率与员工满意度</h3>
<p class="article-excerpt">后疫情时代,混合办公模式成为新常态。本文基于最新调研数据,分析了成功实施混合办公的企业案例,并提供了提升远程团队协作效率的实用工具和方法...</p>
<div class="article-meta">
<span class="article-date"><i class="far fa-clock"></i> 2023-06-11</span>
<span class="article-views"><i class="far fa-eye"></i> 1.5k</span>
</div>
</div>
</div>
<!-- 文章卡片6 -->
<div class="article-card">
<div class="article-image">
<img src="https://page.mixinnet.cn/api/placeholder?w=600&h=300" alt="文章图片">
</div>
<div class="article-content">
<h3 class="article-title">数字艺术收藏兴起:NFT市场现状与入门投资指南</h3>
<p class="article-excerpt">数字艺术和NFT市场在过去两年经历了爆炸式增长。本文解释了NFT的基本概念,分析了当前市场状况,并为初学者提供了安全参与数字艺术收藏的实用建议...</p>
<div class="article-meta">
<span class="article-date"><i class="far fa-clock"></i> 2023-06-10</span>
<span class="article-views"><i class="far fa-eye"></i> 2.7k</span>
</div>
</div>
</div>
</div>
<!-- 分页 -->
<div class="pagination">
<ul class="pagination-list">
<li class="pagination-item">
<a href="#" class="pagination-link disabled">
<i class="fas fa-chevron-left"></i>
</a>
</li>
<li class="pagination-item">
<a href="#" class="pagination-link active">1</a>
</li>
<li class="pagination-item">
<a href="#" class="pagination-link">2</a>
</li>
<li class="pagination-item">
<a href="#" class="pagination-link">3</a>
</li>
<li class="pagination-item">
<a href="#" class="pagination-link">4</a>
</li>
<li class="pagination-item">
<a href="#" class="pagination-link">5</a>
</li>
<li class="pagination-item">
<a href="#" class="pagination-link">
<i class="fas fa-chevron-right"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<script>
// 分类切换功能
document.querySelectorAll('.category-item').forEach(item => {
item.addEventListener('click', function() {
// 移除所有active类
document.querySelectorAll('.category-item').forEach(i => {
i.classList.remove('active');
});
// 为当前点击项添加active类
this.classList.add('active');
// 这里可以添加AJAX请求加载对应分类的内容
// 模拟加载效果
const articleList = document.querySelector('.article-list');
articleList.style.opacity = '0.5';
setTimeout(() => {
articleList.style.opacity = '1';
}, 300);
});
});
// 搜索功能
const searchInput = document.querySelector('.search-box input');
searchInput.addEventListener('keyup', function(e) {
if (e.key === 'Enter') {
const keyword = this.value.trim();
if (keyword) {
// 这里可以添加搜索功能实现
alert(`执行搜索: ${keyword}`);
// 实际应用中应该是AJAX请求获取搜索结果
}
}
});
// 分页点击效果
document.querySelectorAll('.pagination-link:not(.disabled)').forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault();
// 更新active状态
document.querySelectorAll('.pagination-link').forEach(item => {
item.classList.remove('active');
});
if (!this.querySelector('i')) {
this.classList.add('active');
}
// 这里可以添加分页加载功能
// 模拟加载效果
const container = document.querySelector('.container');
container.style.opacity = '0.7';
setTimeout(() => {
container.style.opacity = '1';
}, 300);
});
});
// 卡片悬停动画增强
document.querySelectorAll('.article-card').forEach(card => {
card.addEventListener('mouseenter', function() {
this.style.transform = 'translateY(-8px)';
this.style.boxShadow = '0 15px 30px rgba(102, 0, 255, 0.15)';
});
card.addEventListener('mouseleave', function() {
this.style.transform = 'translateY(-5px)';
this.style.boxShadow = '0 10px 20px rgba(102, 0, 255, 0.1)';
});
});
</script>
</body>
</html>这个代码实现了一个完整的文章资讯列表页面,具有以下特点:
左侧分类筛选栏:
- 8个分类选项,带图标
- 选中状态高亮显示
- 悬停效果和点击交互
右侧文章列表:
- 6篇文章卡片,网格布局
- 每张卡片包含图片、标题、摘要和元信息
- 卡片悬停动画效果
- 渐入动画效果
顶部功能:
- 标题区域
- 搜索框功能
底部分页:
- 带页码和箭头导航
- 交互效果
交互功能:
- 分类切换效果
- 搜索功能
- 分页点击效果
- 卡片悬停动画增强
响应式设计:
- 适配不同屏幕尺寸
- 移动端分类栏变为横向滚动
所有样式和功能都是纯原生实现,没有使用任何框架,完全符合你的要求。
需支付 5元 阅读剩余内容