CSS div无法正确定位

时间:2016-04-13 05:52:43

标签: html css

我正在尝试在我的网站上建立一个活动部分。当我在其中放入几个事件时,div位置不合适。 HTML

<div class="col-sm-5 round-body" id="events">
            <h1>Events</h1>
              <div class="event-list">
                <div class="event-date">
                  <div class="event-month">May</div>
                  <div class="event-day">06</div>
                </div>
                <div class="event-text">
                  <p><strong>Blah blah blah Work</strong></p>
                </div>
              </div>
              <div class="event-list">
                <div class="event-date">
                  <div class="event-month">May</div>
                  <div class="event-day">10-23</div>
                </div>
                <div class="event-text">
                  <p><strong>Blah blah blah</strong></p>
                </div>
              </div>
              <div class="event-list">
                <div class="event-date">
                  <div class="event-month">May</div>
                  <div class="event-day">06</div>
                </div>
                <div class="event-text">
                  <p><strong>Blah blah blah Work</strong></p>
                </div>
              </div>
          </div>

CSS

.event-list .event-date{
  padding: 15px 15px 15px 15px;
  background-color: #109902;
  color: #fff;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  margin-right: 15px;
  width: 80px;
}
.event-list, .event-month, .event-day{
  width: 100%;
}
.event-date{
  float: left;
  padding-left: 15px;
}

jsfiddle链接如下 https://jsfiddle.net/u1pucb15/5/

4 个答案:

答案 0 :(得分:2)

请将display: inline-block用于事件日期div

&#13;
&#13;
.event-list .event-date{
        padding: 15px 15px 15px 15px;
        background-color: #109902;
        color: #fff;
        font-size: 16px;
        text-align: center;
        font-weight: bold;
        margin-right: 15px;
        width: 80px;
    }
    .event-list, .event-month, .event-day{
        width: 100%;
    }
    .event-list{
        margin-bottom: 10px;
    }
    .event-date{
        display: inline-block;
        padding-left: 15px;
    }
    .event-text {
        display: inline-block;
        vertical-align: top;
    }
&#13;
<div class="col-sm-5 round-body" id="events">
    <h1>Events</h1>
    <div class="event-list">
        <div class="event-date">
            <div class="event-month">May</div>
            <div class="event-day">06</div>
        </div>
        <div class="event-text">
            <p><strong>Blah blah blah Work</strong></p>
        </div>
    </div>
    <div class="event-list">
        <div class="event-date">
            <div class="event-month">May</div>
            <div class="event-day">10-23</div>
        </div>
        <div class="event-text">
            <p><strong>Blah blah blah</strong></p>
        </div>
    </div>
    <div class="event-list">
        <div class="event-date">
            <div class="event-month">May</div>
            <div class="event-day">06</div>
        </div>
        <div class="event-text">
            <p><strong>Blah blah blah Work</strong></p>
        </div>
    </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

float: left;提交给.event-text

.event-text {
    float: left;
}

clear: left;.event-list

<强> Working Fiddle

答案 2 :(得分:0)

试试这个:

.event-list .event-date{
    padding: 15px 15px 15px 15px;
    background-color: #109902;
    color: #fff;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    margin-right: 15px;
    width: 80px;
  margin-bottom:5px;
}
.event-list, .event-month, .event-day{
    width: 100%;
}
.event-date{
    float: left;
    padding-left: 15px;
}


.event-text {
    float: left;
}

.event-list {
    clear: left;
}

DEMO HERE

答案 3 :(得分:0)

这可能不是你想要的,但更接近这样的东西?

.event-list .event-date{
    padding: 15px 15px 15px 15px;
    background-color: #109902;
    color: #fff;
    font-size: 16px;
    text-align: center;
    font-weight: bold;
    margin-right: 15px;
    width: 80px;
}
.event-list{
  display:inline-block;
}
.event-month, .event-day{
    width: 100%;
}


.event-date{
    padding-left: 15px;
}