CSS - li a href parent小于child

时间:2014-04-27 11:05:36

标签: html css

我设计简单的文章列表,我发现我的图像上的href小于实际图像,并且一旦它的父母就不对了。而且我不知道如何解决它, 这是它的样子: enter image description here

我的HTML看起来像:

<div id="article-container">

<ul>
      <li><a href="#"><img src="images/foto.jpg" alt="Popis"></a>
            <h2><a href="#">Název článku</a></h2>
            <p><span><strong>28. 2. 2014 8:29</strong> od Dwandy</span><br>
              Ahoj, jak se máš? Já úplně úžasně a úpe nejvíc. Závidíš, he? </p>
            <p class="more"><a href="#" class="links">Přečíst</a><br>
              <a href="#">4 reakce</a></p>
            <hr>
       </li>

  <li><a href="#"><img src="images/foto.jpg" alt="Popis"></a>
           <h2><a href="#">Název článku</a></h2>
           <p><span><strong>28. 2. 2014 8:29</strong> od Dwandy</span><br>
             Ahoj, jak se máš? Já úplně úžasně a úpe nejvíc. Závidíš, he? </p>
           <p class="more"><a href="#" class="links">Přečíst</a><br>
             <a href="#">4 reakce</a></p>
           <hr>
      </li>

      <li><a href="#"><img src="images/foto.jpg" alt="Popis"></a>
           <h2><a href="#">Název článku</a></h2>
           <p><span><strong>28. 2. 2014 8:29</strong> od Dwandy</span><br>
             Ahoj, jak se máš? Já úplně úžasně a úpe nejvíc. Závidíš, he? </p>
           <p class="more"><a href="#" class="links">Přečíst</a><br>
             <a href="#">4 reakce</a></p>
           <hr>
      </li>
 </ul>

我的CSS看起来像:

#article-container{
  width: 980px;
    margin: 0 auto;
    color:#4d4d4d;
    font-size:90%;
  height: 144px;
}

#article-container br, hr {
    display:none;
}
#article-container ul {
    width:960px;
  height: 144px
    overflow:hidden;
    margin:0;
    padding:15px 0;
}
#article-container li {
    width:310px;
    display:inline-block;
    list-style:none;
    padding:0;
    margin:0px 0px 0px 8px;
}
#article-container a{
    display:block;
}
#article-container img {
    float:left;
    margin: 0 10px 0 0
}
#article-container a img {
    border:2px solid #999e8a;
}
#article-container a:hover img {
    border-color:#000
}
#article-container h2 {
    margin: 0;
    padding: 0 0 10px 0;
    font-size:110%;
    font-weight:normal;
}
#article-container h2 a {
    color:#4d4d4d
}
#article-container h2 a:hover {
    color:#840000
}
#article-container p {
    padding: 0 10px 0 0;
    margin:0
}
#article-container p span {
    display:block;
    padding: 0 0 5px 0
}
#article-container p.more {
    padding: 0px 0 0 0;
    overflow:hidden
}


#article-container p.more a {
    color:#2e79bc;
    line-height: 27px;
}
#article-container p.more a:hover {
    color:#840000
}
#article-container p.more a.links {
    float:right;
    padding: 5px 10px;
    background:#2e79bc;
    color:#fff;
    margin-right:15px;
    text-decoration:none;
    border-radius:3px;
    line-height: 18px;
}
#article-container p.more a.links:hover {
    background:#000
}

演示:FIDDLE整个WEBSITE DEMO

有人可以帮我制作与图像宽度相同的高度吗?

2 个答案:

答案 0 :(得分:1)

由于<img/>正在浮动,<a>不会将其换行。使用overflowfloat触发布局。


<edit>关于处理浮动元素:请参阅:http://css-tricks.com/all-about-floats/ </edit>


http://fiddle.jshell.net/qB8V4/1/ float似乎就是你需要的。


然后,您仍然需要管理浮动交互行为设置overflow除了它之外的元素,例如:<p><h2>

http://fiddle.jshell.net/qB8V4/2/

答案 1 :(得分:0)

这是一个浮动问题。只需将溢出:隐藏添加到您的css元素#article-container a。

测试: http://jsbin.com/yavegeru/1/