记录实战中应用transform的一些问题

<div class="subject  w">
                <img src="./assets/logo.png" alt="" class="subject-logo">
                <div class="subject-info">
                    <h2 class="subject-title">项目标题:基于云服务平台的高分卫星数据京津冀一体化综合应用服务软件</h2>
                    <span class="subject-date">项目时间:2021.06-2021.07</span>
                    <p class="subject-role">项目角色:总体组组长、前端组组长</p>
                    <p class="subject-intro">
                        项目介绍:遥感信息监测包括面向农业、林业、环保领域内9项典型目标的遥感要素遥感的提取服务和监测服务,服务地址:http://121.36.32.135:8080/onlineClassifyPage
                    </p>
                    <p class="subject-tech">技术介绍:html、css、js、jquery、element、vue、axios、openlayers、webpack</p>
                </div>
            </div>
            <img class="subject-content" src="./assets/logo.png" alt="">
.subject {
    height: 100%;
    position: relative;
    display: inline-block;
    /* margin:0 auto; */
    margin-left: 50%;
    transform: translateX(-50%);
    margin-right: 20px;
}
.subject-content {
    width: 9%;
    height: 80%;
    display: inline-block;
    /* margin-left: -500px; */
}

问题描述:div默认为块级元素,但是改变display为行内块元素以后,仍然独占一行,img为行内块元素,并没有独占一行,从后面仍然有内容可以猜测应该是div挤占了img的位置,最后通过实验得出问题出在"margin-left: 50%; transform: translateX(-50%);"

  1. 要彻底搞清楚这个问题,首先我们要知道transform的原理,CSS3中,transform属性允许盒子模型被进行二维或三维空间坐标的变换,也就是说,元素现在的位置都是基于原先的位置进行的变换,从chrome控制台我们也可以得出这个结论。
    CSS3中,transform属性允许盒子模型被进行二维或三维空间坐标的变换
    由于div里面都是行内块元素,所以不能设置text-align,目前只能是margin-left进行设置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值