3

I've been struggling to remove the spaces between the labels on the following. I've tried editing everything from the padding and white spacing but I still can't figure out what is causing the blank space between the top labels

https://codepen.io/appelledesign/pen/mjzrjY

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  height: 100vh;
}

body {
  font: 14px/1 'Open Sans', sans-serif;
  color: #555;
  background: #eee;
}

h1 {
  padding: 50px 0;
  font-weight: 400;
  text-align: center;
}

p {
  margin: 0 0 20px;
  line-height: 1.5;
}

main {
  max-width: 800px;
  margin: 0 auto;
}

section {
  display: none;
  padding: 20px 0 0;
  border-top: 1px solid #ddd;
}

input {
  display: none;
}

label {
  display: inline-block;
  /* margin: 0 0 -1px;
         */
  font-weight: 600;
  text-align: center;
  color: #bbb;
  /* border: 1px solid transparent;
         */
  padding-top: 30px;
  padding-bottom: 30px;
  width: 33.01%;
  background: orange;
}

label:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}

label[for*='1']:before {
  content: '\f1cb';
}

label[for*='2']:before {
  content: '\f17d';
}

label[for*='3']:before {
  content: '\f16b';
}

label:hover {
  color: #888;
  cursor: pointer;
}

input:checked+label {
  color: #ffffff;
  /* border: 1px solid #ddd;
         */
  /* border-top: 2px solid #ea8424;
         */
  /* border-bottom: 1px solid #fff;
         */
  background: #07a68f;
}

#tab1:checked~#content1,
#tab2:checked~#content2,
#tab3:checked~#content3 {
  display: block;
}

@media screen and (max-width: 650px) {
  label {
    display: flex;
    display: -webkit-box;
  }
  label:before {
    margin: 0;
    font-size: 18px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 400px) {
  label {
    padding: 15px;
  }
}
<main>
  <input id="tab1" type="radio" name="tabs" checked>
  <label for="tab1">Small Business</label>
  <input id="tab2" type="radio" name="tabs">
  <label for="tab2">Medium Business</label>
  <input id="tab3" type="radio" name="tabs">
  <label for="tab3">Large Business</label>
  <section id="content1">
    <p>
      TEST
    </p>
    <p>
      Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare ribs pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
    </p>
  </section>
  <section id="content2">
    <p>
      Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. Pig swine chicken hamburger, tenderloin
      turkey rump ball tip sirloin frankfurter meatloaf boudin brisket ham hock. Hamburger venison brisket tri-tip andouille pork belly ball tip short ribs biltong meatball chuck. Pork chop ribeye tail short ribs, beef hamburger meatball kielbasa rump
      corned beef porchetta landjaeger flank. Doner rump frankfurter meatball meatloaf, cow kevin pork pork loin venison fatback spare ribs salami beef ribs.
    </p>
    <p>
      Jerky jowl pork chop tongue, kielbasa shank venison. Capicola shank pig ribeye leberkas filet mignon brisket beef kevin tenderloin porchetta. Capicola fatback venison shank kielbasa, drumstick ribeye landjaeger beef kevin tail meatball pastrami prosciutto
      pancetta. Tail kevin spare ribs ground round ham ham hock brisket shoulder. Corned beef tri-tip leberkas flank sausage ham hock filet mignon beef ribs pancetta turkey.
    </p>
  </section>
  <section id="content3">
    <p>
      Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
    </p>
    <p>
      Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare ribs pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
    </p>
  </section>
  </section>
</main>
j08691
  • 190,436
  • 28
  • 232
  • 252
David Robertson
  • 57
  • 1
  • 10

3 Answers3

3

Replace all your label/input code with:

<input id="tab1" type="radio" name="tabs" checked><label for="tab1">Small Business</label><input id="tab2" type="radio" name="tabs"><label for="tab2">Medium Business</label><input id="tab3" type="radio" name="tabs"><label for="tab3">Large Business</label>

It looks awful, but then you don't need to figure out a CSS workaround. Plus minifying stuff is good practice in the long run.

Joel Rummel
  • 331
  • 1
  • 12
  • 1
    Thank you, I used float element as TJBlackman suggested but both look to work great! – David Robertson Aug 07 '18 at 18:44
  • The downside of minified code is that's it's difficult to maintain. Unless you have an automated process for doing this, floating items with CSS is probably best. It's a good thing to know about ion general also. – TJBlackman Aug 07 '18 at 18:57
  • @TJBlackman Floating is fine, but minifying has other advantages - mainly reducing your file size. Besides, I think most people automate their minification anyways. – Joel Rummel Aug 07 '18 at 19:09
  • Completely agree, especially for experienced developers. however, it's typically a non-necessary step for people learning html. Still, a good thing to be aware of. – TJBlackman Aug 07 '18 at 19:12
0

Please check it on full page screen I didn't check the responsive. Only fixed the spacing issue.

In label I have used display: table-cell;instead of display : inline-block

@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700');
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');

*, *:before, *:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100vh;
}

body {
  font: 14px/1 'Open Sans', sans-serif;
  color: #555;
  background: #eee;
}

h1 {
  padding: 50px 0;
  font-weight: 400;
  text-align: center;
}

p {
  margin: 0 0 20px;
  line-height: 1.5;
}

main {
  max-width: 800px;

  margin: 0 auto;
}

section {
  display: none;
  padding: 20px 0 0;
  border-top: 1px solid #ddd;
}

input {
  display: none;
}

label {
  color : #fff!Important;
  padding : 26px 35px;
    display: table-cell;
    /* margin: 0 0 -1px; */
    font-weight: 600;
    text-align: center;
    color: #bbb;
    /* border: 1px solid transparent; */
    padding-top: 30px;
    padding-bottom: 30px;
    width: 33.01%;
    background: orange;
  
}

label:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
  
}

label[for*='1']:before { content: '\f1cb'; }
label[for*='2']:before { content: '\f17d'; }
label[for*='3']:before { content: '\f16b'; }


label:hover {
  color: #888;
  cursor: pointer;
}

input:checked + label {
    color: #ffffff;
    /* border: 1px solid #ddd; */
    /* border-top: 2px solid #ea8424; */
    /* border-bottom: 1px solid #fff; */
    background: #07a68f;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3
 {
  display: block;
}

@media screen and (max-width: 650px) {
  label {
        display: flex;
    display: -webkit-box;
  }
  label:before {
    margin: 0;
    font-size: 18px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 400px) {
  label {
    padding: 15px;
  }
  }
<html>
<main>
  <input id="tab1" type="radio" name="tabs" checked>
  <label for="tab1">Small Business</label>
   <input id="tab2" type="radio" name="tabs">
  <label for="tab2">Medium Business</label>
      <input id="tab3" type="radio" name="tabs">
  <label for="tab3">Large Business</label>
    
  <section id="content1">
    <p>
      TEST
    </p>
    <p>
      Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare ribs pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
    </p>
  </section>
    
  <section id="content2">
    <p>
      Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. Pig swine chicken hamburger, tenderloin turkey rump ball tip sirloin frankfurter meatloaf boudin brisket ham hock. Hamburger venison brisket tri-tip andouille pork belly ball tip short ribs biltong meatball chuck. Pork chop ribeye tail short ribs, beef hamburger meatball kielbasa rump corned beef porchetta landjaeger flank. Doner rump frankfurter meatball meatloaf, cow kevin pork pork loin venison fatback spare ribs salami beef ribs.
    </p>
    <p>
      Jerky jowl pork chop tongue, kielbasa shank venison. Capicola shank pig ribeye leberkas filet mignon brisket beef kevin tenderloin porchetta. Capicola fatback venison shank kielbasa, drumstick ribeye landjaeger beef kevin tail meatball pastrami prosciutto pancetta. Tail kevin spare ribs ground round ham ham hock brisket shoulder. Corned beef tri-tip leberkas flank sausage ham hock filet mignon beef ribs pancetta turkey.
    </p>
  </section>
    
  <section id="content3">
    <p>
      Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
    </p>
    <p>
      Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare ribs pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
    </p>
  </section>
    
  </section>
    
</main>
</html>
Rajib karmaker
  • 378
  • 4
  • 15
0

Use display: flex in your for the breakpoint greater than 650px; and for the smallest display: block, and change the width of by 33.33%

preview in fullscreen

@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700');
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');

*, *:before, *:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100vh;
}

body {
  font: 14px/1 'Open Sans', sans-serif;
  color: #555;
  background: #eee;
}

h1 {
  padding: 50px 0;
  font-weight: 400;
  text-align: center;
}

p {
  margin: 0 0 20px;
  line-height: 1.5;
}

main {
  max-width: 800px;

  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content:center;
}

section {
  display: none;
  padding: 20px 0 0;
  border-top: 1px solid #ddd;
}

input {
  display: none;
}

label {
    display: inline-block;
    /* margin: 0 0 -1px; */
    font-weight: 600;
    text-align: center;
    color: #bbb;
    /* border: 1px solid transparent; */
    padding-top: 30px;
    padding-bottom: 30px;
    width: 33.33%;
    background: orange;
  
}

label:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
  
}

label[for*='1']:before { content: '\f1cb'; }
label[for*='2']:before { content: '\f17d'; }
label[for*='3']:before { content: '\f16b'; }


label:hover {
  color: #888;
  cursor: pointer;
}

input:checked + label {
    color: #ffffff;
    /* border: 1px solid #ddd; */
    /* border-top: 2px solid #ea8424; */
    /* border-bottom: 1px solid #fff; */
    background: #07a68f;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3
 {
  display: block;
}

@media screen and (max-width: 650px) {
  main {
    display: block;
  }
  label {
        display: flex;
    display: -webkit-box;
  }
  label:before {
    margin: 0;
    font-size: 18px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 400px) {
  label {
    padding: 15px;
  }
  }
<main>
  <input id="tab1" type="radio" name="tabs" checked>
  <label for="tab1">Small Business</label>
  <input id="tab2" type="radio" name="tabs">
  <label for="tab2">Medium Business</label>
  <input id="tab3" type="radio" name="tabs">
  <label for="tab3">Large Business</label>
  <section id="content1">
    <p>
      TEST
    </p>
    <p>
      Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare ribs pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
    </p>
  </section>
  <section id="content2">
    <p>
      Bacon ipsum dolor sit amet landjaeger sausage brisket, jerky drumstick fatback boudin ball tip turducken. Pork belly meatball t-bone bresaola tail filet mignon kevin turkey ribeye shank flank doner cow kielbasa shankle. Pig swine chicken hamburger, tenderloin
      turkey rump ball tip sirloin frankfurter meatloaf boudin brisket ham hock. Hamburger venison brisket tri-tip andouille pork belly ball tip short ribs biltong meatball chuck. Pork chop ribeye tail short ribs, beef hamburger meatball kielbasa rump
      corned beef porchetta landjaeger flank. Doner rump frankfurter meatball meatloaf, cow kevin pork pork loin venison fatback spare ribs salami beef ribs.
    </p>
    <p>
      Jerky jowl pork chop tongue, kielbasa shank venison. Capicola shank pig ribeye leberkas filet mignon brisket beef kevin tenderloin porchetta. Capicola fatback venison shank kielbasa, drumstick ribeye landjaeger beef kevin tail meatball pastrami prosciutto
      pancetta. Tail kevin spare ribs ground round ham ham hock brisket shoulder. Corned beef tri-tip leberkas flank sausage ham hock filet mignon beef ribs pancetta turkey.
    </p>
  </section>
  <section id="content3">
    <p>
      Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulder bresaola. Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
    </p>
    <p>
      Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare ribs pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
    </p>
  </section>
  </section>
</main>
Ivan Iyari
  • 62
  • 3