Bootstrap push and pull give weird effect - html

Hello im making a landingpoage with an image right and text left and visa versa in the section underneat it. It almost works fine only on a certain width it doesnt work.
#import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
.second-block {} .col-md-6 {
padding-right: 0px;
padding-left: 0px;
}
.tekst {
padding: 25px 45px;
}
.tekst p {
padding: 30px 0;
}
button {
background: #ff0021;
border-radius: 2em;
padding: 15px 25px;
border: none;
color: white;
text-transform: uppercase;
font-weight: 500;
}
.footer {
height: 60px;
background: #292929;
border-top: #ff0021 7px solid;
}
/* MEDIA QUERIES */
#media(max-width:1200px) {}#media(max-width:1000px) {
h2 {
font-size: 15px;
}
}
#media(min-width:991) and (max-width:1111) {
h2 {
font-size: 15px;
}
}
#media(min-width:768px) and (max-width:990px) {}#media(max-width:768px) {
.subline {
padding-left: 35px;
pad
}
#media(max-width:500px) {
.subline {
padding-left: 35px;
padding-right: 35px;
}
p {
font-size: 14px;
}
}
<section class="second-block" id="acties">
<div class="row">
<div class="col-md-6 col-sm-6 image">
<img src="//placehold.it/600x400/?text=rockwerchter" width="100%" alt="Rock Werchter foto">
</div>
<div class="col-md-6 col-sm-6 tekst">
<h2>WIN EEN WEEKEND ROCK WERCHTER VOOR VIJF PERSONEN, INCL. OVERNACHTING IN THE HIVE RESORT</h2>
<p>De Morgen bezorgt u het weekend van uw leven. Doe mee en win gratis combitickets van Rock Werchter voor <strong>uzelf en vier vrienden</strong>. Logeren doet u het hele weekend in alle rust en comfort in <strong>The Hive Resort</strong>, met uw eigen tipi(tent), douches, een oergezellig café, wifi en echte toiletten.</p>
<button type="button">Win tickets >></button>
</div>
</div>
</section>
<section class="second-block">
<div class="row">
<div class="col-md-6 col-sm-push-6 image">
<img src="//placehold.it/600x400/?text=twclassic" width="100%" alt="TW Classic foto">
</div>
<div class="col-md-6 col-sm-pull-6 tekst">
<h2>WIN DUOTICKETS VOOR TW CLASSIC</h2>
<p>Met headliners als <strong>Bruce Springsteen & The E street Band, Lana Del Rey en Lionel Richie</strong> is de editie 2016 van TW Classic nu al een klassieker.</p>
<button type="button">Win duotickets >></button>
</div>
</div>
</section>

The error is here
<div class="col-md-6 col-sm-push-6 image">
<div class="col-md-6 col-sm-pull-6 tekst">
You have to use
<div class="col-sm-6 col-sm-push-6 image">
<div class="col-sm-6 col-sm-pull-6 tekst">
And col-md-6 col-sm-6 is equivalent to col-sm-6.
Check the result:
#import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
.second-block {} .col-md-6 {
padding-right: 0px;
padding-left: 0px;
}
.tekst {
padding: 25px 45px;
}
.tekst p {
padding: 30px 0;
}
button {
background: #ff0021;
border-radius: 2em;
padding: 15px 25px;
border: none;
color: white;
text-transform: uppercase;
font-weight: 500;
}
.footer {
height: 60px;
background: #292929;
border-top: #ff0021 7px solid;
}
/* MEDIA QUERIES */
#media(max-width:1200px) {}#media(max-width:1000px) {
h2 {
font-size: 15px;
}
}
#media(min-width:991) and (max-width:1111) {
h2 {
font-size: 15px;
}
}
#media(min-width:768px) and (max-width:990px) {}#media(max-width:768px) {
.subline {
padding-left: 35px;
pad
}
#media(max-width:500px) {
.subline {
padding-left: 35px;
padding-right: 35px;
}
p {
font-size: 14px;
}
}
<section class="second-block" id="acties">
<div class="row">
<div class="col-sm-6 image">
<img src="//placehold.it/600x400/?text=rockwerchter" width="100%" alt="Rock Werchter foto">
</div>
<div class="col-sm-6 tekst">
<h2>WIN EEN WEEKEND ROCK WERCHTER VOOR VIJF PERSONEN, INCL. OVERNACHTING IN THE HIVE RESORT</h2>
<p>De Morgen bezorgt u het weekend van uw leven. Doe mee en win gratis combitickets van Rock Werchter voor <strong>uzelf en vier vrienden</strong>. Logeren doet u het hele weekend in alle rust en comfort in <strong>The Hive Resort</strong>, met uw eigen tipi(tent), douches, een oergezellig café, wifi en echte toiletten.</p>
<button type="button">Win tickets >></button>
</div>
</div>
</section>
<section class="second-block">
<div class="row">
<div class="col-sm-6 col-sm-push-6 image">
<img src="//placehold.it/600x400/?text=twclassic" width="100%" alt="TW Classic foto">
</div>
<div class="col-sm-6 col-sm-pull-6 tekst">
<h2>WIN DUOTICKETS VOOR TW CLASSIC</h2>
<p>Met headliners als <strong>Bruce Springsteen & The E street Band, Lana Del Rey en Lionel Richie</strong> is de editie 2016 van TW Classic nu al een klassieker.</p>
<button type="button">Win duotickets >></button>
</div>
</div>
</section>

Related

How can I center my image + text and keep responsive?

here's the result I'd like to obtain once I'm reducing the window :
the problem in this result is that they aren't centered, once I center them that's what I get, I guess I'm doing something wrong : the issue. This code is the one that cause the issue when they're centered.
Here's my code :
section {
margin-top: 25px;
padding: 24px;
box-sizing: border-box;
}
h2 {
margin-bottom: 30px;
text-align: center;
font-weight: bold;
font-size: 22px;
}
.flex-container {
display: flex;
flex-direction: column;
align-content: flex-start;
height: 100%;
padding: 15x;
}
.flex-container > div{
position: relative;
left: 21%;
border-radius: 5px;
padding: 8px;
}
.articleactu img {
float: left;
border-radius: 15px;
max-width: 210px;
}
p {
word-wrap: break-word;
max-width: 900px;
padding-left: 200px;
}
#titre {
line-height: px;
font-weight: bold;
}
#date {
font-size: 14px;
font-weight: bold;
color: #662189;
}
hr.solid {
position: relative;
left: 21%;
width: 50%;
opacity: 12%;
}
div p ,#titre ,#date {
margin-left: 35px;
}
<!-- ACTUALITÉ - ARTICLES -->
<section>
<h2> L'ACTUALITÉ </h2>
<article class="articleactu">
<div class="flex-container">
<div>
<img src="images/gtaarticle.jpeg" alt="Article GTA " class="center">
<p id="titre">GTA : THE TRILOGY DEFINITIVE EDITION, les fans sont déçus !</p>
<p> Les joueurs attendaient une refonte complète de la trilogie afin de rappeler de lointains souvenirs mais malheureusement les fans sont déçus...</p>
<p id="date"> Publié le 27 novembre 2021 </p>
</div>
<hr class="solid">
<div>
<img src="images/bf2042-2.jpg" alt="Article GTA " class="center">
<p id="titre">BATTLEFIELD 2042 : De très mauvaise notes pour le nouvel opus.</p>
<p> Le lancement du jeu est malheureusement un raté... Un jeu rempli de bugs, on repense évidemment à Cyberpunk 2077...</p>
<p id="date"> Publié le 26 novembre 2021 </p>
</div>
<hr class="solid">
</article>
</section>
I hope that anyone can help me with this. Thanks in advance !
The main reason is
.flex-container > div{
left: 21%;
}
Then, that div has full width(100%) but the left position has 21%. So the content will look on the left side.
Try like this.
section {
margin-top: 25px;
padding: 24px;
box-sizing: border-box;
}
h2 {
margin-bottom: 30px;
text-align: center;
font-weight: bold;
font-size: 22px;
}
.flex-container {
display: flex;
flex-direction: column;
align-content: flex-start;
height: 100%;
padding: 10%;
}
.flex-container > div {
display: flex;
}
.flex-container > div > div {
float: left;
}
.description {
margin-left: 20px;
}
.articleactu img {
border-radius: 15px;
max-width: 210px;
}
p {
word-wrap: break-word;
}
#titre {
line-height: px;
font-weight: bold;
}
#date {
font-size: 14px;
font-weight: bold;
color: #662189;
}
hr.solid {
position: relative;
width: 50%;
opacity: 12%;
}
your HTML
<section>
<h2> L'ACTUALITÉ </h2>
<article class="articleactu">
<div class="flex-container">
<div style="display: flex">
<div>
<img src="images/gtaarticle.jpeg" alt="Article GTA " class="center">
</div>
<div class="description">
<p id="titre">GTA : THE TRILOGY DEFINITIVE EDITION, les fans sont déçus !</p>
<p> Les joueurs attendaient une refonte complète de la trilogie afin de rappeler de lointains souvenirs mais malheureusement les fans sont déçus...</p>
<p id="date"> Publié le 27 novembre 2021 </p>
</div>
</div>
<hr class="solid">
<div>
<div>
<img src="images/bf2042-2.jpg" alt="Article GTA " class="center">
</div>
<div class="description">
<p id="titre">BATTLEFIELD 2042 : De très mauvaise notes pour le nouvel opus.</p>
<p> Le lancement du jeu est malheureusement un raté... Un jeu rempli de bugs, on repense évidemment à Cyberpunk 2077...</p>
<p id="date"> Publié le 26 novembre 2021 </p>
</div>
</div>
<hr class="solid">
</div>
</article>
</section>

Fixed footer falls over content

I need to make a simple CSS website. But I have a problem with my fixed footer. It falls over my buttons. I have tried making it an inline-block element. Then it stays right under the buttons. But when I resize the page it goes over my brandstory class. Is there any way to fix this problem? I'm new to CSS.
.main-navigation li{
display: inline-block;
margin: 0.1% 1%;
padding: 0%;
}
a{
color: white;
text-decoration: none;
}
.current{
text-decoration: underline;
}
.brandstory{
position: absolute;
margin-right: 25%;
height: 500px;
}
img{
width: 25%;
margin-left: 75%;
display: block;
}
.item-of-the-month{
color: black;
}
.text-block{
margin-left: 75%;
border: 1px solid black;
margin-top: 0%;
padding-top: 1%;
padding-bottom: 1%;
background: white;
text-align: center;
}
.buttons{
margin-left: 75%;
}
.button{
background-color: #000;
border: 1px solid red;
margin-top: -1.2%;
padding: 1%;
color: white;
font-family: Georgia,Times,Times New Roman,serif;
text-align: center;
text-decoration: none;
display: block;
}
.ForwardFashion{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: black;
color: white;
text-align: left;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ForwardFashion</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
<div class="header">
<h1>ForwardFashion</h1>
</div>
<div class="main-navigation">
<li><h3>Home</h3></li>
<li><h3>Interviews</h3></li>
<li><h3>Webshop</h3></li>
</div>
<div class="brandstory">
<p>ForwardFashion is sinds 2018 de place to be, als het gaat om upcoming fashionhypes. ForwardFashion biedt naast fashionnieuws ook de allerhipste fashionitems aan. Daarnaast interviewen designers en influencers met een forward-kijk op fashion. ForwardFashion is niet voor niets Forward. Waar andere fashionsites in het verleden blijven hangen, kijken wij verder. Wij schuwen niet voor mode met technologie. Dat zou jij ook niet moeten doen! Dus waar wacht je op, kijk rond in onze webshop, ga lekker zitten voor een interview en blijf op de hoogte in ForwardFashionland.</p>
</div>
<div class="container">
<img src="images/glassboots.jpg">
<div class="text-block">
<h4>Item of the Month</h4>
</div>
</div>
<div class="buttons">
Instagram
Youtube
Pinterest
Twitter
</div>
<footer class="ForwardFashion">
<p>© ForwardFashion</p>
</footer>
</body>
</html>
One thing you need to consider when you are making your footer fixed is, you have to leave some space in <body> element so that the fixed footer gets some space to avoid it overlapping the content part. Try this code
body {
padding-bottom: 100px;
}

How to position <hr> in a DIV

How to put the line <hr> about 15 px above the bottom of the text block somewhere between button and bottom textblock?
.box {
background: white;
float: right;
position: relative
}
.space {
padding: 15px;
}
img {
max-width: 100%;
}
.button {
position: absolute;
bottom: 40px;
margin-left: 15px;
}
#media (max-width:768px) {
.button {
position: relative;
bottom: auto;
margin-left: 15px;
}
}
<div class="box">
<img class="box" src="https://d2f0ora2gkri0g.cloudfront.net/e4/16/e4164876-1967-4303-9a57-aae00eb2b22b.png" alt="oproeien" style="margin-right:0px; margin-left:0px">
<h2 class="space">Amsterdam</h2>
<p class="space">Amsterdam is de (titulaire) hoofdstad en naar inwonertal de grooteeuw tot stadsuitbreidingen, waaronder de laatste grachten van de fortificatie die nu als grachtengordel bekend is en in 2010 is toegevoegd aan de UNESCO-Werelderfgoedlijst.</p>
<a class="button" href="https://www.buienradar.nl">Slecht weer</a>
<hr>
</div>
Why not simply border on text that you can easily control with padding:
.box {
background: white;
float: right;
position: relative
}
.space {
padding: 15px;
}
p.space {
border-bottom:1px solid #000;
}
img {
max-width: 100%;
}
.button {
position: absolute;
bottom: 40px;
margin-left: 15px;
}
#media (max-width:768px) {
.button {
position: relative;
bottom: auto;
margin-left: 15px;
}
}
<div class="box">
<img class="box" src="https://d2f0ora2gkri0g.cloudfront.net/e4/16/e4164876-1967-4303-9a57-aae00eb2b22b.png" alt="oproeien" style="margin-right:0px; margin-left:0px">
<h2 class="space">Amsterdam</h2>
<p class="space">Amsterdam is de (titulaire) hoofdstad en naar inwonertal de grooteeuw tot stadsuitbreidingen, waaronder de laatste grachten van de fortificatie die nu als grachtengordel bekend is en in 2010 is toegevoegd aan de UNESCO-Werelderfgoedlijst.</p>
<a class="button" href="https://www.buienradar.nl">Slecht weer</a>
</div>
And if you want to control the width of the line you can consider a linear-gradient trick (or pseudo-element):
.box {
background: white;
float: right;
position: relative
}
.space {
padding: 15px;
}
p.space {
background:linear-gradient(to bottom,transparent calc(100% - 1px),#000 0) 0 0/50% 100% no-repeat;
}
img {
max-width: 100%;
}
.button {
position: absolute;
bottom: 40px;
margin-left: 15px;
}
#media (max-width:768px) {
.button {
position: relative;
bottom: auto;
margin-left: 15px;
}
}
<div class="box">
<img class="box" src="https://d2f0ora2gkri0g.cloudfront.net/e4/16/e4164876-1967-4303-9a57-aae00eb2b22b.png" alt="oproeien" style="margin-right:0px; margin-left:0px">
<h2 class="space">Amsterdam</h2>
<p class="space">Amsterdam is de (titulaire) hoofdstad en naar inwonertal de grooteeuw tot stadsuitbreidingen, waaronder de laatste grachten van de fortificatie die nu als grachtengordel bekend is en in 2010 is toegevoegd aan de UNESCO-Werelderfgoedlijst.</p>
<a class="button" href="https://www.buienradar.nl">Slecht weer</a>
</div>

How to get rid of space between buttons and content/paragraph? (CSS)

I am making a manual with html/css/js and to go through the manual I made two buttons.
This is what it looks like:
The strange this is, the first previewed menu-item 'introductie' has the same css code as the fourth previewed menu-item 'hart meten'. But why is there a gap between the paragraph and the buttons in the previewed 'introductie' ?
my code:
HTML
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8"/>
<title>Hartmeting</title>
<link rel="stylesheet" href="css/stylesheet.css" type="text/css">
</head>
<body>
<div id="wrapper">
<header>
<div id="logo" onclick="window.location.href='http://localhost/Zorg_Heartbeat%20Manual/'">
<img src="img/logo.png" alt="logo" />
<h1 >Hartmeting voor fitte mensen</h1>
</div>
</header>
<!-- Stappenplan Menu -->
<nav id="menu">
<ul>
<li> Introductie </li>
<li> Het Probleem </li>
<li> Stappenplan </li>
<li> Hartmeting </li>
</ul>
</nav>
<!-- HET STAPPENPLAN -->
<div id="content">
<!-- Intro Slide -->
<article id="menu_a">
<h2>Introductie</h2><br>
<figure>
<img src="img/intro1.jpeg" alt="Intro Afbeelding"/>
</figure>
<p>Joggers zijn actieve mensen die graag tussen werk en/of studie nog even de kilometers willen pakken. Hierin houden ze graag bij of ze fitter worden of niet, zo zul je vaak zien dat joggers hun rusthartslag meten om een indicatie van positieve 'progress' te kunnen inzien. Het bijhouden van de gezondheid hoort eigenlijk niet alleen bij joggers, maar bij elk fit persoon die graag de resultaten wilt vastpakken. Zonder dat je een smartwatch nodig hebt, kun je met elk apparaat die beschikking heeft tot het internet, je hartslag meten!</p>
</article>
<!-- Slide 1 -->
<article id="menu_b">
<h2>Het Probleem</h2><br>
<figure>
<img src="img/hetprobleem1.jpg" alt="Eerste Afbeelding"/>
</figure>
<p>Maar waarom een WebApp die je hartslag meet? Simpel, smartwatches zijn nou eenmaal veels te duur, je gebruikt ze niet altijd en daarnaast zijn ze de meeste ook nog eens privacy gevoelig.</p>
</article>
<!-- Slide 2 -->
<article id="menu_c">
<h2>Hoe kan mijn hartslag meten?</h2><br>
<figure>
<img src="img/polsmeten.png" alt="Tweede Afbeelding"/>
</figure>
<ol id="stappen">
<li>Ga gerust zitten.</li>
<li>Houd je wijsvinger en middelvinger tegen elkaar.</li>
<li>Leg beide vingers links of rechts van de adamsappel (zoek naar een kloppende beweging).</li>
<li>Klik met je linker muisknop op de box elke keer dat je een klopping voelt.</li>
<li>Doe dit achtereenvolgend tot dat je 10 keer hebt geklikt (dus 10 kloppingen).</li>
<li>De pop-up laat je gemiddelde hartslag per minuut zien.</li>
</ol>
</article>
<!-- Slide 3 -->
<article id="menu_d">
<h2>Hart Meten</h2><br>
<figure>
<!-- Hartmeet tool -->
<div id="klik_Hart" class="heart">
</div>
<br>
<br>
<br>
<!-- Einde hartmeet tool-->
</figure>
<ol id="stappen">
<li>Een normaal rustend hart van een volwassenen meet tussen de 60 - 100 hartslagen per minuut.</li>
<li>Boven de 100 is slecht.</li>
<li>Richting de 40 is goed.</li>
</ol>
</article>
<!-- ABOUT -->
<!-- <div id="about">
<p>TEST TEST TEST TEST TEST TEST TEST TEST TEST </p>
</div> -->
<!-- vorige/volgende buttons -->
<table id="volgorde">
<th><button class="button" id="previous">Previous</button></th>
<th><button class="button" id="next">Next</button></th>
<th>
<!-- Checkbox Auto Slider -->
<div class="auto_menu">
<input type="checkbox" id="checkbox">
<label for="checkbox">Auto Handleiding</label>
</div>
<!-- -->
</th>
</table>
<div id="myNav" class="overlay">
×
<div class="overlay-content">
<p> Wij zijn ....</p>
</div>
</div>
</div>
<div id="buffer"></div>
<footer>
<a id="footer_" href="#" onclick="openNav()">☰ Over ons </a>
</footer>
</div>
<script src="js/jquery-3.1.1.js" type='text/javascript'></script>
<script src="js/scripts1.js" type='text/javascript'></script>
</body>
</html>
CSS
#titel{ color: #B0C4DE; text-align: center;}
/*Verstop alle artikelen binnen content*/
article {
display:none;
}
body{
background-color: #333333;
color: grey;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
font-size: 12pt;
width: 100%%
}
#wrapper{
background-color: #ADD8E6;
width: 90%;
margin-left: auto;
margin-right: auto;
/*background-image: url("../img/bg.jpg");*/
background-size: cover;
background-position: left top;
border: 2px groove #001f3f;
overflow: auto;
}
#content{
margin-left: auto;
margin-right: auto;
float: left;
width: 70%;
}
#content img{
height: 250px;
width: 450px;
}
#menu{
font-weight: thin;
color: #424242;
float: left;
width: 15%;
text-align: center;
margin-left: 5%;
margin-top: 6.7%;
font-size: 10pt;
}
ul{list-style-type: none;}
h1{ text-shadow: 1px 1px 3px #00008B;}
a{
display: block;
text-decoration: none;
color: #0074D9;
background-color: #001f3f;
border: 1px solid #B0C4DE;
padding: 5px;
}
a:hover{
background-color: #FFD900;
color: #001f3f;
}
footer{
overflow: hidden;
clear: both;
}
#volgorde{
font-weight: thin;
color: grey;
width: 10%;
text-align: center;
clear: both;
margin-left: 3%;
margin-bottom: 2%;
}
.button {
background-color: #001f3f;
color: #FFDC00;
border: none;
color: white;
padding: 5px 30px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
display: block;
}
.button:hover{
background-color: #FFD900;
color: #001f3f;
}
.heart{
color:#FBF9FF;
background-image: url("../img/hart4.png");
background-size: 150px 150px;
height: 150px;
width: 150px;
}
.heart:hoover{
color: #FFA07A;
background-color: grey;
}
#uitleg p {
color: #FA8072;
}
#logo img {
float: left;
width: 60px;
height: 60px;
margin-left: 2%;
}
#logo h1 {
position: relative;
top: 15px;
left: 10px;
}
#klik_ {
text-align: center;
}
article p {
height: 200px;
width: 450px;
font-size: 10pt;
color: grey;
font-weight: bold;
overflow: scroll;
margin-left: 4%;
margin-bottom: 5%;
text-align: justify;
text-justify: inter-word;
}
#buffer{
clear: both;
height: 10%;
}
#stappen{
font-weight: bold;
font-size: 10pt;
}
.auto_menu {
position: relative;
margin: 5px auto;
width: 160px;
font-size: 14px;
}
/*OVER ONS OVERLAY*/
.overlay {
height: 0%;
width: 100%;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0, 0.9);
overflow-y: hidden;
transition: 0.5s;
}
.overlay-content {
position: relative;
top: 25%;
width: 100%;
text-align: center;
margin-top: 30px;
}
.overlay a {
padding: 8px;
text-decoration: none;
font-size: 36px;
color: #818181;
display: block;
transition: 0.3s;
}
.overlay a:hover, .overlay a:focus {
color: #f1f1f1;
}
.overlay .closebtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
}
#media screen and (max-height: 450px) {
.overlay {overflow-y: auto;}
.overlay a {font-size: 20px}
.overlay .closebtn {
font-size: 40px;
top: 15px;
right: 35px;
}
}
EDIT: Web Inspector Shows:
Screenshot showing findings
So I think it might be:
margin-bottom: 5%;
when I deleted this, nothing happened..
You defined the height of your p. That means that your element will always stay at the height of 200px, no matter the content inside the element.
In order to change that to a dynamic height change it to:
display: inline-block;
height: auto;
The code is pretty straight forward, you display what is within the block. The height is automatically adjusted depending on the inline of that block.

Having trouble with checkbox hack in CSS

I restyled a checkbox to look like a button, because I want text to appear below the button when the button is clicked. I can only use CSS and HTML, anything else is incompatible with the program I need to work in. This checkbox hack allows me to have a pointer event, instead of a hover / active. Only two problems occur, and I can't find the solution.
When clicked the first button removes the rest of the buttons from the row, second button removes buttons on its right, third button removes buttons on its right etc etc.
Does anyone know what needs to be changed in order to get it working?
Also I would like to add something that will make sure that when the button is active and something else besides the text box is clicked the text box dissapears. So that you can't have multiple buttons active at once.
Fairly new to CSS, sorry for any weird stuff in the code.
#images {
margin: none;
padding: none;
border: none;
height: 144px;
width: 720px;
z-index:10;
}
.checked-selector {display: none;
z-index:100;}
:checked ~ .checked-selector {display: block;z-index:100;}
input.hidden[type=checkbox] {position: absolute;left: -999em;z-index:100;}
.checkbox {}
.checkbox2 {
position:relative;
left:144px;
top:-149px;
}
.checkbox3 {
position:relative;
left:288px;
top:-297px;
}
.checkbox4 {
position:relative;
left:432px;
top:-445px;
}
.checkbox5 {
position:relative;
left:576px;
top:-593px;
}
.box p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: relative;
top:-19px;
left:2px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-29.jpg);
z-index:100;
}
.box2 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: relative;
top:-18px;
left:-142px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-30.jpg);
z-index:100
}
.box3 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: relative;
top:-18px;
left:-286px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-31.jpg);
z-index:100
}
.box4 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: relative;
top:-19px;
left:-430px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-32.jpg);
z-index:100
}
.box5 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: relative;
top:-19px;
left:-574px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-33.jpg);
z-index:100
}
.box6 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 105px;
width: 680px;
position: relative;
top:-17px;
left:2px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-34.jpg);
z-index:100
}
<div class="images" id="images">
<div class="checkbox">
<label for="toggle-hidden_1" >
<img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-08.jpg" width="144" height="144" alt="inschrijving"></label>
<input type="checkbox" id="toggle-hidden_1" class="hidden" value="1"/>
<div class="checked-selector" value="1"> <div class="box">
<div class="container" id="hover"><p>
Als bevestiging van je inschrijving bij de TU Delft ontvang je uiterlijk binnen één maand nadat je aan de inschrijvingsverplichtingen hebt voldaan het Bewijs van Inschrijving, maar niet eerder dan medio augustus.</p></div></div></div></div>
<div class="checkbox2">
<label for="toggle-hidden_2"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-11.jpg" width="144" height="144" alt="eerstejaarsweekend"></label>
<input type="checkbox" id="toggle-hidden_2" class="hidden" value="2"/>
<div class="checked-selector"value="2"/><div class="box2"> <div class="container" id="hover"><p>Het Stylos Eerstejaars Ontvangstweekend (SteeOwee) is van vrijdag 15 t/m zondag 17 augustus. Dit weekend is specifiek voor eerstejaars studenten Bouwkunde, inschrijven kan via de website van studievereniging Stylos.</p> </div></div></div></div>
<div class="checkbox3">
<label for="toggle-hidden_3"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-12.jpg" width="144" height="144" alt="eerste collegedag"></label>
<input type="checkbox" id="toggle-hidden_3" class="hidden" value="3"/>
<div class="checked-selector"value="3"/><div class="box3"> <div class="container" id="hover"><p>Op maandag 1 september 2014 begin je aan je eerste dag op de faculteit. Er is een speciaal programma voor alle eerstejaars waarbij je verplicht aanwezig moet zijn. Je ontvangt in augustus een brief met meer informatie over het programma van die dag.</p> </div></div></div></div>
<div class="checkbox4">
<label for="toggle-hidden_4"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-14.jpg" width="144" height="144" alt="bouwkunde startpakket"></label>
<input type="checkbox" id="toggle-hidden_4" class="hidden" value="4"/>
<div class="checked-selector"value="4"/><div class="box4"> <div class="container" id="hover"><p>Alle materialen die je nodig hebt voor handtekenen, vormstudie en ontwerpprojecten vind je in het Bouwkunde starterspakket, welke je bij Waltman’s Bouwshop kan aanschaffen. De aankoop van dit pakket is niet verplicht, maar wordt wel aanbevolen. Tijdens je studie heb je ook verschillende materialen nodig voor het maken van maquettes. Deze kun je ook bij Waltman kopen, en/of bij de balie in de Zuidserre. Het gehele pakket is de eerste weken van september verkrijgbaar in de Bouwshop voor € 125.00.</p> </div></div></div></div>
<div class="checkbox5">
<label for="toggle-hidden_5"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-13.jpg" width="144" height="144" alt="studiemateriaal"></label>
<input type="checkbox" id="toggle-hidden_5" class="hidden" value="5"/>
<div class="checked-selector"value="5"/><div class="box5"> <div class="container" id="hover"><p>Als je je hebt ingeschreven ontvang je voor aanvang van het studiejaar een brief met daarin o.a. een boekenlijst. Deze boeken zijn verkrijgbaar bij Waltman’s Bouwshop, de materialen- en boekenwinkel naast de hoofdingang van Bouwkunde. Gedurende je studie heb je ook readers nodig. Deze kun je bestellen via Blackboard onder de tab ‘MyStudentInfo’.</p> </div></div></div></div>
</div>
It looks like you are using too many repeated class names. Some fixes for you:
Rename .box to .box1.
Add a common class .box for all the .box, .box2, .box3, .box4, .box4, .box5, .box6.
Copy all the common CSS from all those .box, .box2, .box3, .box4, .box4, .box5, .box6 to .box instead.
Replace the following CSS in each box:
position: relative;
top: -{some value};
With:
position: absolute;
top: auto;
Try giving a position: absolute; top: auto; for the paragraph?
#images {
margin: none;
padding: none;
border: none;
height: 144px;
width: 720px;
z-index:10;
}
.checked-selector {display: none;
z-index:100;}
:checked ~ .checked-selector {display: block;z-index:100;}
input.hidden[type=checkbox] {position: absolute;left: -999em;z-index:100;}
.checkbox {}
.checkbox2 {
position:relative;
left:144px;
top:-149px;
}
.checkbox3 {
position:relative;
left:288px;
top:-297px;
}
.checkbox4 {
position:relative;
left:432px;
top:-445px;
}
.checkbox5 {
position:relative;
left:576px;
top:-593px;
}
.box p{
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: absolute;
top: auto;
left:2px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-29.jpg);
z-index:100;
}
.box2 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: absolute;
top: auto;
left:-142px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-30.jpg);
z-index:100
}
.box3 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: absolute;
top: auto;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-31.jpg);
z-index:100
}
.box4 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: absolute;
top: auto;
left:-430px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-32.jpg);
z-index:100
}
.box5 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 104px;
width: 680px;
position: absolute;
top: auto;
left:-574px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-33.jpg);
z-index:100
}
.box6 p{
font:Arial;
font-family: Arial;
font-size: 14px;
height: 105px;
width: 680px;
position: absolute;
top: auto;
left:2px;
padding:20px;
text-align: justify;
color: #FFF;
background:url(http://estherslagter.nl/images/New%20folder2/first%20tryout-34.jpg);
z-index:100
}
<div class="images" id="images">
<div class="checkbox">
<label for="toggle-hidden_1" >
<img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-08.jpg" width="144" height="144" alt="inschrijving"></label>
<input type="checkbox" id="toggle-hidden_1" class="hidden" value="1"/>
<div class="checked-selector" value="1"> <div class="box">
<div class="container" id="hover"><p>
Als bevestiging van je inschrijving bij de TU Delft ontvang je uiterlijk binnen één maand nadat je aan de inschrijvingsverplichtingen hebt voldaan het Bewijs van Inschrijving, maar niet eerder dan medio augustus.</p></div></div></div></div>
<div class="checkbox2">
<label for="toggle-hidden_2"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-11.jpg" width="144" height="144" alt="eerstejaarsweekend"></label>
<input type="checkbox" id="toggle-hidden_2" class="hidden" value="2"/>
<div class="checked-selector"value="2"/><div class="box2"> <div class="container" id="hover"><p>Het Stylos Eerstejaars Ontvangstweekend (SteeOwee) is van vrijdag 15 t/m zondag 17 augustus. Dit weekend is specifiek voor eerstejaars studenten Bouwkunde, inschrijven kan via de website van studievereniging Stylos.</p> </div></div></div></div>
<div class="checkbox3">
<label for="toggle-hidden_3"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-12.jpg" width="144" height="144" alt="eerste collegedag"></label>
<input type="checkbox" id="toggle-hidden_3" class="hidden" value="3"/>
<div class="checked-selector"value="3"/><div class="box3"> <div class="container" id="hover"><p>Op maandag 1 september 2014 begin je aan je eerste dag op de faculteit. Er is een speciaal programma voor alle eerstejaars waarbij je verplicht aanwezig moet zijn. Je ontvangt in augustus een brief met meer informatie over het programma van die dag.</p> </div></div></div></div>
<div class="checkbox4">
<label for="toggle-hidden_4"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-14.jpg" width="144" height="144" alt="bouwkunde startpakket"></label>
<input type="checkbox" id="toggle-hidden_4" class="hidden" value="4"/>
<div class="checked-selector"value="4"/><div class="box4"> <div class="container" id="hover"><p>Alle materialen die je nodig hebt voor handtekenen, vormstudie en ontwerpprojecten vind je in het Bouwkunde starterspakket, welke je bij Waltman’s Bouwshop kan aanschaffen. De aankoop van dit pakket is niet verplicht, maar wordt wel aanbevolen. Tijdens je studie heb je ook verschillende materialen nodig voor het maken van maquettes. Deze kun je ook bij Waltman kopen, en/of bij de balie in de Zuidserre. Het gehele pakket is de eerste weken van september verkrijgbaar in de Bouwshop voor € 125.00.</p> </div></div></div></div>
<div class="checkbox5">
<label for="toggle-hidden_5"><img src="http://estherslagter.nl/images/New%20folder2/first%20tryout-13.jpg" width="144" height="144" alt="studiemateriaal"></label>
<input type="checkbox" id="toggle-hidden_5" class="hidden" value="5"/>
<div class="checked-selector"value="5"/><div class="box5"> <div class="container" id="hover"><p>Als je je hebt ingeschreven ontvang je voor aanvang van het studiejaar een brief met daarin o.a. een boekenlijst. Deze boeken zijn verkrijgbaar bij Waltman’s Bouwshop, de materialen- en boekenwinkel naast de hoofdingang van Bouwkunde. Gedurende je studie heb je ook readers nodig. Deze kun je bestellen via Blackboard onder de tab ‘MyStudentInfo’.</p> </div></div></div></div>
</div>
For what you're doing, I'd use radio rather than checkbox so that users can't make multiple selections.
If you have something like this, you can style the labels any way you want:
/* Styles */
input[name="toggles"] {
display: none;
}
.toggles label {
display: inline-block;
padding: 20px;
color: white;
}
.toggles label:hover {
cursor: pointer;
text-decoration: underline;
}
.frame #tab1,
.frame #tab2,
.frame #tab3 {
display: none;
border: solid 1px black;
padding: 20px;
}
/* Tab Controls */
#toggle-tab1:checked ~ .toggles #label-tab1,
#toggle-tab2:checked ~ .toggles #label-tab2,
#toggle-tab3:checked ~ .toggles #label-tab3 {
background: black;
}
#label-tab1 {
background: red;
}
#label-tab2 {
background: blue;
}
#label-tab3 {
background: green;
}
#toggle-tab1:checked ~ .frame #tab1 {
display: block;
}
#toggle-tab2:checked ~ .frame #tab2 {
display: block;
}
#toggle-tab3:checked ~ .frame #tab3 {
display: block;
}
<!-- Controls -->
<input name="toggles" type="radio" id="toggle-tab1" checked>
<input name="toggles" type="radio" id="toggle-tab2">
<input name="toggles" type="radio" id="toggle-tab3">
<div class="toggles">
<!--Tab 1 -->
<label id="label-tab1" for="toggle-tab1">Hello World 1</label>
<!--Tab 2 -->
<label id="label-tab2" for="toggle-tab2">Hello World 2</label>
<!--Tab 3 -->
<label id="label-tab3" for="toggle-tab3">Hello World 3</label>
</div>
<div class="frame">
<div id="tab1">Hello! This is tab1!</div>
<div id="tab2">Hello! This is tab2!</div>
<div id="tab3">Hello! This is tab3!</div>
</div>
Pen: http://codepen.io/abenjamin/pen/KpedvV