当你从index.html转到index.html/#contact时,你的CSS消失了,这是因为/#contact是一个锚点(anchor),它会导致浏览器将页面滚动到相应的位置,但不会触发页面的重新加载。由于CSS是在页面加载时被引入的,当页面滚动到锚点时,并不会重新加载CSS文件,因此导致CSS样式丢失。
要解决这个问题,你可以使用JavaScript来监听页面滚动事件,并在滚动到锚点时手动加载CSS文件。以下是一个示例代码:
window.addEventListener('scroll', function() {
if (window.location.hash === '#contact') {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'path/to/your/css/file.css';
document.head.appendChild(link);
}
});
上述代码会在页面滚动时检查当前URL的哈希部分是否为"#contact",如果是,则动态创建一个<link>元素,并将CSS文件的路径设置为其href属性值,然后将<link>元素添加到<head>标签中,从而加载CSS文件。
另外,你也可以考虑将CSS样式直接嵌入到index.html文件中,而不是通过外部CSS文件引入。这样无论页面滚动到哪个位置,CSS样式都会一直存在。
请注意,以上代码仅为示例,实际应用中你需要根据自己的项目结构和需求进行相应的调整。
推荐的腾讯云相关产品:腾讯云CDN(内容分发网络),详情请参考:https://cloud.tencent.com/product/cdn
领取专属 10元无门槛券
手把手带您无忧上云