Skip to content

Instantly share code, notes, and snippets.

@brickbones
Created August 6, 2020 18:26
Show Gist options
  • Select an option

  • Save brickbones/0b447985b10f143a160bcf2e1d69726a to your computer and use it in GitHub Desktop.

Select an option

Save brickbones/0b447985b10f143a160bcf2e1d69726a to your computer and use it in GitHub Desktop.
Tabs with only HTML and CSS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<title>Tabs</title>
</head>
<body>
<div class="mytabs">
<input type="radio" id="tabfree" name="mytabs" checked="checked">
<label for="tabfree">Free</label>
<div class="tab">
<h2>Free</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
<input type="radio" id="tabsilver" name="mytabs">
<label for="tabsilver">Silver</label>
<div class="tab">
<h2>Silver</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
</div>
<input type="radio" id="tabgold" name="mytabs">
<label for="tabgold">Gold</label>
<div class="tab">
<h2>Gold</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
</div>
</div>
</body>
</html>
<style>
body {
background: #ccc;
font-family: 'Roboto', sans-serif;
}
.mytabs {
display: flex;
flex-wrap: wrap;
max-width: 600px;
margin: 50px auto;
padding: 25px;
}
.mytabs input[type="radio"] {
display: none;
}
.mytabs label {
padding: 25px;
background: #e2e2e2;
font-weight: bold;
}
.mytabs .tab {
width: 100%;
padding: 20px;
background: #fff;
order: 1;
display: none;
}
.mytabs .tab h2 {
font-size: 3em;
}
.mytabs input[type='radio']:checked + label + .tab {
display: block;
}
.mytabs input[type="radio"]:checked + label {
background: #fff;
}
</style>
@AnthonyMorenoCisnero
Copy link
Copy Markdown

Good thanks

@HamzaElkotp
Copy link
Copy Markdown

Thank You Bro

@HenryTurbedsky
Copy link
Copy Markdown

👍

@khanhndhe153638
Copy link
Copy Markdown

you are so cool

@roykamsi
Copy link
Copy Markdown

Thank you!

@Hemalatha1504
Copy link
Copy Markdown

Thank you so much

@jakariashakib
Copy link
Copy Markdown

thanks bro

@developers15
Copy link
Copy Markdown

i LIKE TURTKES

@Vichai007
Copy link
Copy Markdown

Thank you very much. This is very helpful.
If I add the button (below) to the tab id tabfree, and I want it to display the tab id tabsilver, what js code should be in function goToNextTab()? Thanks.

NextTab

@asmallick1999
Copy link
Copy Markdown

thank you

@apamanes
Copy link
Copy Markdown

That was very helpful, however, I encountered a problem. I did include the .types-tab input [type='radio']:checked + label + .tab and the .types-tab input [type="radio"]:checked + label in my document, and I also included display: none; in the .mytabs .tab bracket, but the moment I tested the html out, the tab was completely hidden and the label buttons could not show the tabs when I clicked on them. I even included the checked= "checked" in the first input of the html. What am I doing wrong there? I did all of this code in a separate css file. Could that be the issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment