我尝试了W3School的这个垂直标签教程,我想在我的网站上应用相同的方法。无论如何,在减小宽度尺寸后,我似乎无法在页面中心对齐垂直标签。我尝试在代码的开头添加div
,并尝试将div
与中心对齐,但仍然没有这样做。
需要帮助。
function openTest(evt, testName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(testName).style.display = "block";
evt.currentTarget.className += " active";
}
document.getElementById("defaultOpen").click();
&#13;
body {
background-color: #d62929;
font-family: Verdana, sans-serif;
margin: 0;
}
.ul1 {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: whitesmoke;
font-weight: bold;
font-size: 18px;
}
.li1 {
float: left;
}
.li1 a,
.dropbtn {
display: inline-block;
color: black;
text-align: center;
padding: 22px 30px;
text-decoration: none;
}
.li1 a:hover,
.dropdown:hover .dropbtn {
background-color: #c12525;
color: white;
}
.li1.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: whitesmoke;
min-width: 250px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 20px 20px;
text-decoration: none;
display: block;
text-align: left;
font-size: 15px;
}
.dropdown-content a:hover {
background-color: #c12525;
}
.dropdown:hover .dropdown-content {
display: block;
}
.active {
background-color: #d62929;
color: white;
font-weight: bold;
font-size: 18px;
}
@media screen and (max-width: 600px) {
ul1 li1,
ul1 li1 {
float: none;
}
}
/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
footer {
-webkit-order: 3;
order: 3;
}
}
footer {
background: #aaa;
color: #fff;
text-align: center;
padding: 1rem;
clear: both;
/* clearing floating affects from both left,right sides */
}
.footp {
margin: 0;
padding: 0;
margin-left: 20px;
display: inline-block;
line-height: 30px;
vertical-align: top;
}
/* Style the tab */
div.tab {
float: left;
border: 1px solid #ccc;
background-color: #f1f1f1;
width: 30%;
height: 300px;
}
/* Style the buttons inside the tab */
div.tab button {
display: block;
background-color: inherit;
color: black;
padding: 22px 16px;
width: 100%;
border: none;
outline: none;
text-align: left;
cursor: pointer;
transition: 0.3s;
font-size: 17px;
}
/* Change background color of buttons on hover */
div.tab button:hover {
background-color: #ddd;
}
/* Create an active/current "tab button" class */
div.tab button.active {
background-color: #ccc;
}
/* Style the tab content */
.tabcontent {
float: inherit;
padding: 0px 12px;
border: 1px solid #ccc;
width: 90%;
border-left: none;
height: 320px;
}
.align {
display: inline-block;
}
&#13;
<div class="flex-container">
<ul class="ul1">
<li class="li1"><a class="active" href="home.html">Home</a></li>
<li class="dropdown li1">
<a href="javascript:void(0)" class="dropbtn">Study</a>
<div class="dropdown-content">
<a href="mainFrame.html">Conduct Study</a>
<a href="report.html">Reports</a>
</div>
</li>
<li class="li1"><a href="contact.html">Contact</a></li>
</ul>
<br /><br /><br /><br /><br /><br />
<div class="tab">
<button class="tablinks" onclick="openTest(event, 'Full')" id="defaultOpen">Full</button>
<button class="tablinks" onclick="openTest(event, 'QRC')">QRC</button>
<button class="tablinks" onclick="openTest(event, 'Cold')">Cold</button>
<button class="tablinks" onclick="openTest(event, 'Hot')">Hot</button>
<button class="tablinks" onclick="openTest(event, 'Room')"> Room</button>
</div>
<div id="Full" class="tabcontent">
<h3>Full</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="QRC" class="tabcontent">
<h3>QRC</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="Cold" class="tabcontent">
<h3>Cold</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="Hot" class="tabcontent">
<h3>Hot</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="Room" class="tabcontent">
<h3>Room</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<br /><br /><br /><br /><br /><br />
<div>
<footer>
<p class="footp">©All rights reserved.</p>
<p class="footp">|</p>
<p class="footp">Internal Use Only</p>
<p class="footp">|</p>
<p class="footp">Maintained By</p>
</footer>
</div>
&#13;
答案 0 :(得分:1)
我的解决方案是将divs
与.tab
和.tabcontent
一起包含在另一个div
中,并将flex
应用于该包装div
。这也要求.tabcontent
具有宽度,以便不占用pa的整个宽度
新HTML
<div class="verticalTabContainer">
<div class="tab">
...
</div>
<div id="Full" class="tabcontent">
...
</div>
<div id="QRC" class="tabcontent">
...
</div>
<div id="Cold" class="tabcontent">
...
</div>
<div id="Hot" class="tabcontent">
...
</div>
<div id="Room" class="tabcontent">
...
</div>
附加CSS
.verticalTabContainer {
width: 100%;
box-sizing: border-box;
display: flex;
justify-content: center;
}
.tabcontent {
width: 50%;
}
function openTest(evt, testName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(testName).style.display = "block";
evt.currentTarget.className += " active";
}
document.getElementById("defaultOpen").click();
&#13;
body {
background-color: #d62929;
font-family: Verdana, sans-serif;
margin: 0;
}
.ul1 {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: whitesmoke;
font-weight: bold;
font-size: 18px;
}
.li1 {
float: left;
}
.li1 a,
.dropbtn {
display: inline-block;
color: black;
text-align: center;
padding: 22px 30px;
text-decoration: none;
}
.li1 a:hover,
.dropdown:hover .dropbtn {
background-color: #c12525;
color: white;
}
.li1.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: whitesmoke;
min-width: 250px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 20px 20px;
text-decoration: none;
display: block;
text-align: left;
font-size: 15px;
}
.dropdown-content a:hover {
background-color: #c12525;
}
.dropdown:hover .dropdown-content {
display: block;
}
.active {
background-color: #d62929;
color: white;
font-weight: bold;
font-size: 18px;
}
@media screen and (max-width: 600px) {
ul1 li1,
ul1 li1 {
float: none;
}
}
/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
footer {
-webkit-order: 3;
order: 3;
}
}
footer {
background: #aaa;
color: #fff;
text-align: center;
padding: 1rem;
clear: both;
/* clearing floating affects from both left,right sides */
}
.footp {
margin: 0;
padding: 0;
margin-left: 20px;
display: inline-block;
line-height: 30px;
vertical-align: top;
}
/* Style the tab */
div.tab {
float: left;
border: 1px solid #ccc;
background-color: #f1f1f1;
width: 30%;
height: 300px;
}
/* Style the buttons inside the tab */
div.tab button {
display: block;
background-color: inherit;
color: black;
padding: 22px 16px;
width: 100%;
border: none;
outline: none;
text-align: left;
cursor: pointer;
transition: 0.3s;
font-size: 17px;
}
/* Change background color of buttons on hover */
div.tab button:hover {
background-color: #ddd;
}
/* Create an active/current "tab button" class */
div.tab button.active {
background-color: #ccc;
}
/* Style the tab content */
.tabcontent {
float: inherit;
padding: 0px 12px;
border: 1px solid #ccc;
width: 90%;
border-left: none;
height: 320px;
}
.align {
display: inline-block;
}
.verticalTabContainer {
width: 100%;
box-sizing: border-box;
display: flex;
justify-content: center;
}
.tabcontent {
width: 50%;
}
&#13;
<div class="flex-container">
<ul class="ul1">
<li class="li1"><a class="active" href="home.html">Home</a></li>
<li class="dropdown li1">
<a href="javascript:void(0)" class="dropbtn">Study</a>
<div class="dropdown-content">
<a href="mainFrame.html">Conduct Study</a>
<a href="report.html">Reports</a>
</div>
</li>
<li class="li1"><a href="contact.html">Contact</a></li>
</ul>
<br /><br /><br /><br /><br /><br />
<div class="verticalTabContainer">
<div class="tab">
<button class="tablinks" onclick="openTest(event, 'Full')" id="defaultOpen">Full</button>
<button class="tablinks" onclick="openTest(event, 'QRC')">QRC</button>
<button class="tablinks" onclick="openTest(event, 'Cold')">Cold</button>
<button class="tablinks" onclick="openTest(event, 'Hot')">Hot</button>
<button class="tablinks" onclick="openTest(event, 'Room')"> Room</button>
</div>
<div id="Full" class="tabcontent">
<h3>Full</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="QRC" class="tabcontent">
<h3>QRC</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="Cold" class="tabcontent">
<h3>Cold</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="Hot" class="tabcontent">
<h3>Hot</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
<div id="Room" class="tabcontent">
<h3>Room</h3>
<p>Test</p>
<ul class="align">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
</div>
<br /><br /><br /><br /><br /><br />
<div>
<footer>
<p class="footp">©All rights reserved.</p>
<p class="footp">|</p>
<p class="footp">Internal Use Only</p>
<p class="footp">|</p>
<p class="footp">Maintained By</p>
</footer>
</div>
&#13;