我需要一个用HTML5加css3加js制作一个杭州的旅游攻略的网页代码
时间: 2024-03-14 20:45:02 浏览: 190
好的,以下是一个基于HTML5、CSS3和JavaScript的简单示例,用于制作杭州旅游攻略的网页:
HTML5代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>杭州旅游攻略</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>杭州旅游攻略</h1>
<nav>
<ul>
<li><a href="#about">关于杭州</a></li>
<li><a href="#spots">热门景点</a></li>
<li><a href="#tips">旅游贴士</a></li>
</ul>
</nav>
</header>
<main>
<section id="about">
<h2>关于杭州</h2>
<p>杭州是中国浙江省的省会,位于浙江省东部,地处钱塘江、京杭大运河、杭甬高速公路、杭州湾跨海大桥的交汇处,是中国的经济、文化、科教、交通和旅游中心之一。</p>
<img src="about.jpg" alt="杭州风景">
</section>
<section id="spots">
<h2>热门景点</h2>
<ul>
<li>
<h3>西湖</h3>
<p>西湖是杭州最著名的景点之一,被誉为“人间天堂”。西湖周边有很多历史文化名胜,例如雷峰塔、苏堤、平湖秋月等。</p>
<img src="xihu.jpg" alt="西湖">
</li>
<li>
<h3>灵隐寺</h3>
<p>灵隐寺位于杭州市西湖区灵隐岛山麓,是中国佛教禅宗名刹之一。寺内有大雄宝殿、天王殿、藏经楼等建筑,还有许多古树名木。</p>
<img src="lingyinsi.jpg" alt="灵隐寺">
</li>
<li>
<h3>千岛湖</h3>
<p>千岛湖是浙江省杭州市淳安县的一个水库,因湖中有数不清的小岛而得名。千岛湖景区包括千岛群岛、千年古寺、千年古村等景点。</p>
<img src="qiandaohu.jpg" alt="千岛湖">
</li>
</ul>
</section>
<section id="tips">
<h2>旅游贴士</h2>
<ol>
<li>提前预定住宿和门票,避免高峰期人流拥堵。</li>
<li>注意天气,带上合适的衣物和鞋子。</li>
<li>尊重当地文化和习俗,保持文明旅游。</li>
</ol>
</section>
</main>
<footer>
<p>版权所有 © 2021 杭州旅游局</p>
</footer>
<script src="script.js"></script>
</body>
</html>
```
CSS3代码:
```css
body {
font-family: Arial, sans-serif;
font-size: 16px;
line-height: 1.5;
margin: 0;
padding: 0;
}
header {
background-color: #333;
color: #fff;
padding: 20px;
}
h1 {
margin: 0;
}
nav ul {
margin: 0;
padding: 0;
list-style: none;
display: flex;
}
nav li {
margin-right: 20px;
}
nav a {
color: #fff;
text-decoration: none;
}
main {
max-width: 960px;
margin: 0 auto;
padding: 20px;
}
section {
margin-bottom: 40px;
}
h2 {
margin-top: 0;
}
ul {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
li {
width: 33.33%;
padding: 20px;
box-sizing: border-box;
}
img {
max-width: 100%;
height: auto;
display: block;
margin-top: 20px;
}
ol {
margin: 0;
padding: 0;
list-style: decimal;
}
footer {
background-color: #333;
color: #fff;
padding: 20px;
text-align: center;
}
```
JavaScript代码:
```javascript
// 获取导航栏和主内容区域
const navLinks = document.querySelectorAll('nav ul li a');
const mainSections = document.querySelectorAll('main section');
// 添加点击事件,实现平滑滚动到对应的内容区域
navLinks.forEach((link, index) => {
link.addEventListener('click', e => {
e.preventDefault();
mainSections[index].scrollIntoView({ behavior: 'smooth' });
});
});
// 添加滚动事件,实现导航栏随着页面滚动高亮对应的链接
window.addEventListener('scroll', () => {
const currentScrollPos = window.pageYOffset;
mainSections.forEach((section, index) => {
const sectionTop = section.offsetTop;
const sectionHeight = section.offsetHeight;
if (currentScrollPos >= sectionTop - sectionHeight / 3) {
navLinks.forEach(link => link.classList.remove('active'));
navLinks[index].classList.add('active');
}
});
});
```
在上述代码中,JavaScript部分实现了两个功能:
1. 点击导航栏链接时,页面平滑滚动到对应的内容区域。
2. 页面滚动时,导航栏自动高亮当前对应的链接。
阅读全文