2

I have an unordered list with a bunch of li's. But I can't seem to remove the margins between li's.

Here's what I would like it to look like:

enter image description here

And this is what it looks like now:

enter image description here

What could I try next?

JSFiddle:

http://jsfiddle.net/narzero/76egxmt9/

HTML:

<body>
  <div class="content_panel active">
    <ul class="unstyled items_board">
      <li class="item_header">First</li>
      <li class="has_details item">one</li>
      <li class="has_details item">two</li>
      <li class="has_details item">three</li>
      <li class="has_details item">four</li>
      <li class="has_details item">five</li>
      <li class="has_details item">six</li>

      <li class="item_header">Second</li>
      <li class="has_details item">one</li>
      <li class="has_details item">two</li>
      <li class="has_details item">three</li>
      <li class="has_details item">four</li>
      <li class="has_details item">five</li>
      <li class="has_details item">six</li>
    </ul>
  </div>  
</body>

CSS:

body {
  background: #fcfcfc;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, sans-serif;
}

.content_panel .active {
  display: inherit;
}

.unstyled {
  margin-left: 0;
  list-style: none;

  /* border:1px solid #e5edec; */
}

ul {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  -webkit-padding-start: 40px;
  margin: 0 0 10px 25px;
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

li {
  line-height: 20px;
}

ul > .unstyled {
  margin-left: 0;
  list-style: none;
}

.items_board {
  padding: 4px;
  min-height: 500px;
}

.item_header {
  background: transparent;
  width: 100%;
  margin-right: 0;
  padding: 0;
  margin-bottom: 20px;
  margin-top: 42px;
  cursor: auto;
  border: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.item_header:first-child {
  margin-top: 8px;
}

.items_board .item {
  height: 300px;
  margin: 0 -1px -1px 0;
  display: inline-block;
  position: relative;
  vertical-align: top;
  width: 205px;
  background: #fff;
  text-align: left;
  color: #5a5a5a;
  font-weight: 400;
  border: 1px solid #e5edec;
}

.has_details {
  cursor: pointer;
}
narzero
  • 2,199
  • 5
  • 40
  • 73

2 Answers2

2

Add font-size: 0; to .unstyled then add font-size (e.g. 16px) to li to remove the white space between inline-block elements like this:

JSFiddle - DEMO

.unstyled {
    font-size: 0;
    margin-left: 0;
    list-style: none;
    /* border:1px solid #e5edec; */
}
li {
    line-height: 20px;
    font-size: 16px;
}

OR: Add float: left; to li - DEMO

More Info:

Fighting the Space Between Inline Block Elements - by Chris Coyier

Anonymous
  • 10,002
  • 3
  • 23
  • 39
1

Try to use float:left; and not display:inline-block; at li items (.items_board > .item ) Working example here http://jsfiddle.net/csdtesting/r7v5pfzx/

Giannis Grivas
  • 3,374
  • 1
  • 18
  • 38