📅  最后修改于: 2023-12-03 15:11:41.037000             🧑  作者: Mango
有时,在网页上,我们需要提供选项卡以容纳多个信息。然而,选项卡可能在不同设备上显示的样式会不同,给用户带来不便。为了解决这个问题,我们可以提供"统一全屏显示选项卡"选项,以确保在任何设备上都能够显示和使用选项卡。
我们可以使用以下步骤来实现统一全屏显示选项卡:
在 HTML 中,创建一个选项卡的容器。容器应该由一个 ul
元素及其子元素(li
)组成。
<ul class="tabs">
<li class="active">选项卡1</li>
<li>选项卡2</li>
<li>选项卡3</li>
</ul>
在 CSS 中,为选项卡的容器及其内容定义样式。 我们可以使用 Flex 布局来使选项卡充满整个屏幕,并使其在宽度不足时自动滚动。同时我们可以对选项卡的内容及其激活状态进行样式调整。
.tabs {
display: flex;
justify-content: center;
width: 100%;
overflow-x: auto;
margin-bottom: 20px;
}
.tabs li {
margin-right: 10px;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
user-select: none;
}
.tabs li.active {
color: #000;
background-color: #fff;
border-bottom: solid 2px #000;
}
使用 JavaScript 添加相应的事件函数。 我们可以根据选中的选项卡的索引来激活选项卡。同时我们可以根据窗口大小重新调整选项卡的宽度。
const tabs = document.querySelectorAll('.tabs li');
const tabContent = document.querySelectorAll('.tab-content');
tabs.forEach((tab, index) => {
tab.addEventListener('click', () => {
tabs.forEach(tab => tab.classList.remove('active'));
tab.classList.add('active');
tabContent.forEach(content => {
content.style.display = 'none';
});
tabContent[index].style.display = 'block';
});
});
window.addEventListener('resize', () => {
const tabsWidth = document.querySelector('.tabs').offsetWidth;
const tabs = document.querySelectorAll('.tabs li');
tabs.forEach(tab => {
tab.style.width = `${tabsWidth / tabs.length}px`;
});
});
我创建了一个完整的示例,以展示如何实现跨设备的统一全屏显示选项卡。 示例包括了 HTML,CSS 和 JavaScript,您可以通过以下链接在浏览器中查看它: