1

I've tried, but failed to find the reason for the left padding of the top ul-element (NEW ACTIVITY, ACTIVITY PROFILE, ACTIVITY DETAILS).

For some reason it's padding to the left with 40px, and I can't find out why! The JSFiddle contains all the CSS code from my project that may interfere the form style, so please have a look at the JSFiddle for a broader view.

/*form styles*/
#msform {
 width: 400px;
 margin: 50px auto;
 text-align: center;
 position: relative;
}
#msform fieldset {
 background: white;
 border: 0 none;
 border-radius: 3px;
 box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);
 padding: 20px 30px;
 box-sizing: border-box;
 width: 80%;
 margin: 0 10%;
 
 /*stacking fieldsets above each other*/
 position: relative;
}
/*Hide all except first fieldset*/
#msform fieldset:not(:first-of-type) {
 display: none;
}
/*inputs*/
#msform input, #msform textarea {
 padding: 15px;
 border: 1px solid #ccc;
 border-radius: 3px;
 margin-bottom: 10px;
 width: 100%;
 box-sizing: border-box;
 font-family: montserrat;
 color: #2C3E50;
 font-size: 13px;
}
/*buttons*/
#msform .action-button {
 width: 100px;
 background:#70ffac;
 font-weight: bold;
 color: white;
 border: 0 none;
 border-radius: 1px;
 cursor: pointer;
 padding: 10px 5px;
 margin: 10px 5px;
}
#msform .action-button:hover, #msform .action-button:focus {
  background: #8ff3b9;
}
/*headings*/
.fs-title {
 font-size: 15px;
 text-transform: uppercase;
 color: #2C3E50;
 margin-bottom: 10px;
}
.fs-subtitle {
 font-weight: normal;
 font-size: 13px;
 color: #666;
 margin-bottom: 20px;
}
/*progressbar*/
#progressbar {
 margin-bottom: 30px;
 overflow: hidden;
 /*CSS counters to number the steps*/
 counter-reset: step;
}
#progressbar li {
 list-style-type: none;
 text-transform: uppercase;
 font-size: 9px;
 width: 33.33%;
 float: left;
 position: relative;
}
#progressbar li:before {
 content: counter(step);
 counter-increment: step;
 width: 20px;
 line-height: 20px;
 display: block;
 font-size: 10px;
 color: #fff;
 background: #baffd7;
 border-radius: 3px;
 margin: 0 auto 5px auto;
}
/*progressbar connectors*/
#progressbar li:after {
 content: '';
 width: 100%;
 height: 2px;
 background: #baffd7;
 position: absolute;
 left: -50%;
 top: 9px;
 z-index: -1; /*put it behind the numbers*/
}
#progressbar li:first-child:after {
 /*connector not needed before the first step*/
 content: none; 
}
/*marking active/completed steps green*/
/*The number of the step and the connector before it = green*/
#progressbar li.active:before,  #progressbar li.active:after{
 background: #70ffac;
 color: white;
}
<form id="msform">
  <ul id="progressbar">
    <li class="active">new Activity</li>
    <li>Activity Profile</li>
    <li>Activity Details</li>
  </ul>
  <fieldset>
    <h2 class="fs-title">Create new activity</h2>
    <h4 class="fs-subtitle">Describe</h4>
    <input type="text" name="email" placeholder="Title" />
    <textarea name="description" placeholder="Description"></textarea>
    <input type="button" name="next" class="next action-button" value="Next" />
  </fieldset>
</form>

Here's the JSFiddle: https://jsfiddle.net/2fasm5gs/

Could somebody please guide me?

Jesper
  • 2,044
  • 3
  • 21
  • 50

2 Answers2

4

It's because of the default styling in the browser.

Resetting the ul's (#progressbar) padding to 0 should fix.

Answer's here: https://stackoverflow.com/a/29307477/6790632

Community
  • 1
  • 1
Mike
  • 603
  • 5
  • 9
1

By default lists have a padding.

You would simply need to add:

ul{
  padding: 0;
}

You could just target the form directly and do:

#progressbar{
  padding-left: 0;
}
Sergi
  • 1,192
  • 3
  • 19
  • 37