代码之家  ›  专栏  ›  技术社区  ›  spice

在相对分区内被切断的绝对分区高度

  •  0
  • spice  · 技术社区  · 6 年前

    我很难让我的一个完全定位的沙发正确显示。它被切断了,除非我为父(相对)分区设置了一个高度,这是我做不到的,因为我永远不知道所需的高度。

    我最初不是使用任何绝对定位,而是 comm Div正在包裹 avatar 所以我认为绝对定位会解决它,它有,除了文字被切断在底部。

    这就是结构,你可以看到里面发生了什么 this fiddle .

    body {
      background: #212121;
      font-family: arial;
    }
    
    .main {
      width: 80%;
      margin: 20px auto;
    }
    
    .wrap {
      width: 100%;
      background: white;
      padding: 10px;
      overflow: hidden;
      position: relative;
    }
    
    a.avatar {
      width: 45px;
      height: 45px;
      border-radius: 50%;
      overflow: hidden;
      display: inline-block;
      float: left;
      margin-right: 10px;
      position: relative;
    }
    
    a.avatar img {
      width: 100%;
    }
    
    .top {
      display: block;
      overflow: hidden;
      position: absolute;
      left: 70px;
    }
    
    a.name {
      font-weight: bold;
      margin-right: 10px;
      float: left;
    }
    
    .posted {
      color: #BBB;
      font-size: 12px;
      padding-top: 3px;
      float: left;
    }
    
    p.comm {
      display: block;
      position: absolute;
      left: 70px;
      top: 20px;
      height: 100%;
    }
    <div class="main">
      <div class="wrap">
        <a href="https://example.com" class="avatar"><img src="http://www.tangoflooring.ca/wp-content/uploads/2015/07/user-avatar-placeholder.png" /></a>
        <div class="top">
          <a href="https://example.com" class="name">John Doe</a>
          <div class="posted">8 mins ago</div>
        </div>
        <p class="comm">Lorem ipsum dolor sit amet.
        </p>
      </div>
      <div class="wrap">
        <a href="https://example.com" class="avatar"><img src="http://www.tangoflooring.ca/wp-content/uploads/2015/07/user-avatar-placeholder.png" /></a>
        <div class="top">
          <a href="https://example.com" class="name">Jane Doe</a>
          <div class="posted">11 mins ago</div>
        </div>
        <p class="comm">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
        </p>
      </div>
      <div class="wrap">
        <a href="https://example.com" class="avatar"><img src="http://www.tangoflooring.ca/wp-content/uploads/2015/07/user-avatar-placeholder.png" /></a>
        <div class="top">
          <a href="https://example.com" class="name">Jimmy Doe</a>
          <div class="posted">18 mins ago</div>
        </div>
        <p class="comm">Ut enim ad minim veniam.
        </p>
      </div>
    </div>
    3 回复  |  直到 6 年前
        1
  •  0
  •   Hanif    6 年前

    只需修改您的 p.comm 选择器如下:

    p.comm {
        display: block;
        position: relative;
        top: 10px;
        padding-left: 60px;
    }
    
        2
  •  1
  •   Aryan Twanju    6 年前

    尝试使用这个修改过的CSS代码。

    body {
      background: #212121;
      font-family: arial;
    }
    
    .main {
      width: 80%;
      margin: 20px auto;
    }
    
    .wrap {
      width: 100%;
      background: white;
      padding: 10px;
      position: relative;
    }
    
    a.avatar {
      width: 45px;
      height: 45px;
      border-radius: 50%;
      overflow: hidden;
      display: inline-block;
      float: left;
      margin-right: 10px;
      position: relative;
    }
    
    a.avatar img {
      width: 100%;
    }
    
    .top {
      display: flex;
      margin-left: 70px;
    }
    
    a.name {
      font-weight: bold;
      margin-right: 10px;
    }
    
    .posted {
      color: #BBB;
      font-size: 12px;
      padding-top: 3px;
    }
    
    p.comm {
      display: block;
      margin-left: 70px;
      height: 100%;
    }
    
        3
  •  1
  •   Zuber    6 年前

    你需要包装 .top .comm 在一个 div 使用 flex 你可以做到

    body {
      background: #212121;
      font-family: arial;
    }
    
    .main {
      width: 80%;
      margin:20px auto;
    }
    
    .wrap {
      width: 100%;
      background: white;
      padding: 10px;
      overflow: hidden;
      position: relative;
      display: flex;
    }
    
    a.avatar {
      margin-right: 10px;
    }
    a.avatar img {
      width: 45px;
      height: 45px;
      border-radius: 50%;
    }
    
    .top {
      width: 100%;
      overflow: hidden;
    }
    
    a.name {
      font-weight: bold;
      margin-right: 10px;
      float: left;
    }
    
    .posted {
      color: #BBB;
      font-size: 12px;
      padding-top: 3px;
      float: left;
    }
    
    p.comm {
      margin-top: 5px;
    }
    .right {
      max-width: 88%;
    }
    <div class="main">
    
        <div class="wrap">
        <a href="https://example.com" class="avatar"><img src="http://www.tangoflooring.ca/wp-content/uploads/2015/07/user-avatar-placeholder.png"></a>
        <div class="right">
        	<div class="top">
              <a href="https://example.com" class="name">Jane Doe</a>
              <div class="posted">11 mins ago</div>
            </div>
        <p class="comm">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do </p>
        </div>
      </div>
    
    	  <div class="wrap">
        <a href="https://example.com" class="avatar"><img src="http://www.tangoflooring.ca/wp-content/uploads/2015/07/user-avatar-placeholder.png"></a>
        <div class="right">
        	<div class="top">
              <a href="https://example.com" class="name">Jane Doe</a>
              <div class="posted">11 mins ago</div>
            </div>
        <p class="comm">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
        </div>
      </div>
        
        <div class="wrap">
        <a href="https://example.com" class="avatar"><img src="http://www.tangoflooring.ca/wp-content/uploads/2015/07/user-avatar-placeholder.png"></a>
        <div class="right">
        	<div class="top">
              <a href="https://example.com" class="name">Jane Doe</a>
              <div class="posted">11 mins ago</div>
            </div>
        <p class="comm">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    
    </div>

    工作小提琴 here