subtabs test
This commit is contained in:
parent
5a51675c12
commit
5d4dcf42eb
2 changed files with 107 additions and 0 deletions
33
test.css
Normal file
33
test.css
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
.tabs {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.tabs > input {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.tabs > input:checked + label + div {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.tabs > label {
|
||||||
|
order: 1;
|
||||||
|
}
|
||||||
|
.tabs > div {
|
||||||
|
display: none;
|
||||||
|
flex-basis: 100%;
|
||||||
|
order: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**/
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
border: 1px solid;
|
||||||
|
}
|
||||||
|
.tabs > input:checked + label {
|
||||||
|
background-color: gray;
|
||||||
|
}
|
||||||
|
.tabs > label {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.tabs > div {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
74
test.html
Normal file
74
test.html
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
<!DOCTYPE html><html><head>
|
||||||
|
<!----------------------------------------------------------------------------->
|
||||||
|
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="initial-scale=1,width=device-width" />
|
||||||
|
<link rel="stylesheet" href="test.css" />
|
||||||
|
|
||||||
|
<!----------------------------------------------------------------------------->
|
||||||
|
</head>
|
||||||
|
<body onload="main()"><header>
|
||||||
|
<!----------------------------------------------------------------------------->
|
||||||
|
|
||||||
|
<h1>Tabs</h1>
|
||||||
|
<ul>
|
||||||
|
<li><a href="test.html">test.html</a></li>
|
||||||
|
<li><a href="test.html?tab=2/3">test.html?tab=2/3</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!----------------------------------------------------------------------------->
|
||||||
|
</header><main>
|
||||||
|
<!----------------------------------------------------------------------------->
|
||||||
|
|
||||||
|
<div class="tabs">
|
||||||
|
<input type="radio" id="tab/1" name="tab" onclick="update(id)">
|
||||||
|
<label for="tab/1">Tab: 1</label>
|
||||||
|
<div>
|
||||||
|
<div class="tabs">
|
||||||
|
<input type="radio" id="tab/1/1" name="tab/1" onclick="update(id)">
|
||||||
|
<label for="tab/1/1">Tab: 1 / 1</label>
|
||||||
|
<div>Tab: One / One</div>
|
||||||
|
<input type="radio" id="tab/1/2" name="tab/1" onclick="update(id)">
|
||||||
|
<label for="tab/1/2">Tab: 1 / 2</label>
|
||||||
|
<div>Tab: One / Two</div>
|
||||||
|
<input type="radio" id="tab/1/3" name="tab/1" onclick="update(id)">
|
||||||
|
<label for="tab/1/3">Tab: 1 / 3</label>
|
||||||
|
<div>Tab: One / Three</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input type="radio" id="tab/2" name="tab" onclick="update(id)">
|
||||||
|
<label for="tab/2">Tab: 2</label>
|
||||||
|
<div>
|
||||||
|
<div class="tabs">
|
||||||
|
<input type="radio" id="tab/2/1" name="tab/2" onclick="update(id)">
|
||||||
|
<label for="tab/2/1">Tab: 2 / 1</label>
|
||||||
|
<div>Tab: Two / One</div>
|
||||||
|
<input type="radio" id="tab/2/2" name="tab/2" onclick="update(id)">
|
||||||
|
<label for="tab/2/2">Tab: 2 / 2</label>
|
||||||
|
<div>Tab: Two / Two</div>
|
||||||
|
<input type="radio" id="tab/2/3" name="tab/2" onclick="update(id)">
|
||||||
|
<label for="tab/2/3">Tab: 2 / 3</label>
|
||||||
|
<div>Tab: Two / Three</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function update(id) {
|
||||||
|
console.log(id)
|
||||||
|
}
|
||||||
|
function main() {
|
||||||
|
let tab = (new URL(document.location)).searchParams.get('tab')
|
||||||
|
if (tab) {
|
||||||
|
let path = 'tab'
|
||||||
|
let tabs = tab.split('/')
|
||||||
|
for (tab of tabs) {
|
||||||
|
path = `${path}/${tab}`
|
||||||
|
document.getElementById(path).checked = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!----------------------------------------------------------------------------->
|
||||||
|
</main></body></html>
|
Loading…
Reference in a new issue