开发者社区> 问答> 正文

如何在div中文字两端对齐而图片水平居中?

screenshot

  <section class="post">
         <div class="post-title">...</div>
         <div class="post-meta">...</div>
         <div class="post-content">
              <p>
              ...
              <br>
              <img src="#.jpg" alt="avatar.jpg" /></p>
          </div>
     </section>

css:

.post {
    border: 1px green solid;
}
.post-content {
    border: 1px blue dashed;
    width: 700px;
    text-align: justify;
}
.post-content p img {
    border: 1px red dashed;
    text-align: center;
}

我想要实现文字在蓝色框里两端对齐,而图片在蓝框里水平居中,但是对img的center属性设置后无效

展开
收起
杨冬芳 2016-06-03 09:29:15 2636 0
1 条回答
写回答
取消 提交回答
  • IT从业

    1)先把img放在 p 标签外面

    <section class="post">
                <div class="post-title">...</div>
                <div class="post-meta">...</div>
                <div class="post-content">
                     <p>
                     ...
                     <br>
                     </p>
                     <img src="#.jpg" alt="avatar.jpg" />
                 </div>
            </section>```

    css:

    .post-content {
        border: 1px blue dashed;
        width: 700px;
        text-align: center;
    }
    .post-content p{
        border: 1px red dashed;
        text-align: center;
        text-align: justify;
    }

    img 自身不能居中,只能在父元素中居中,所以center属性需要设置给父元素,但是 p 又要两端对齐,所以 img 要放在 p 外面。

    2)位置不变,图片居中另外一种方法:

    .post-content p img{
            position: relative;
            left:50%;
            transform:translate(-50%,0);
        }
    
    
    2019-07-17 19:25:54
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载