width:max-content 使用

需求背景:

一开始使用 伪类元素  :after、:before,在伪类元素中放入背景图片~中间文字 “放心服务” 定宽,如 1.3rem, 但是移动端手机在适配的过程中,有时候1.3rem 不能满足有些机型,出现以下样式,

所以不能用这种方法,遇到过很多次啦~

改用不脱离文档流的形式,代码如下:

html:

<div class="title">
   <div class="title-before-icon"></div>
   <div class="title-text">放心服务</div>
   <div class="title-after-icon"></div>
</div>

css:

.title {
  display: flex; // 横着排列
  margin: 0 auto; // 横向居中
  width: max-content;
  // 因为margin横向居中必须要设置宽度,但是又无法确定具体宽度,所以宽度就是内容的最大宽度
  width: -webkit-max-content; // 兼容
  width: -moz-max-content; // 兼容
}

.title-before-icon {
  background: url('../../../../assets/common_image/titleLeftLine.png') no-repeat;
  background-size: 100%;
  width: 1.5rem;
  height: 0.5rem;
  display: block;
}

.title-after-icon {
  background: url('../../../../assets/common_image/titleRightLine.png') no-repeat;
  background-size: 100%;
  width: 1.5rem;
  height: 0.5rem;
  display: block;
}

.title-text {
  font-size: 0.32rem;
  color: #FF572F;
  margin: 0 0.1rem; // 文字与两边图片之间的间隔
}

以上all~

要使上述CSS样式适应手机设备,您可以使用媒体查询来调整样式和布局。以下是在现有代码中添加媒体查询以适应手机设备的示例: ```css .page { /* 桌面样式 */ display: flex; flex-direction: column; align-items: flex-start; width: 375px; height: 812px; background-color: #000000; font-family: Roboto-Regular; white-space: nowrap; } .view { /* 桌面样式 */ position: relative; display: flex; flex-direction: column; align-items: flex-start; margin-top: 100px; margin-left: 52px; } .caption { /* 桌面样式 */ position: relative; overflow: hidden; height: 45px; max-width: 192px; font-family: Roboto-Bold; font-size: 32px; line-height: 45px; color: #ffffff; text-overflow: ellipsis; } .title { /* 桌面样式 */ position: relative; margin-top: 4px; font-size: 32px; line-height: 38px; color: #c3c3c3; } .item-wrapper { /* 桌面样式 */ position: relative; display: flex; justify-content: center; align-items: flex-start; margin-top: 69px; margin-left: 33px; white-space: normal; } .item { /* 桌面样式 */ width: 294px; height: 287px; } .book-wrapper { /* 桌面样式 */ position: relative; display: flex; align-items: center; align-self: flex-end; height: 49px; padding-left: 20px; padding-right: 20px; margin-top: 128px; margin-right: 50px; line-height: 20px; border-radius: 10px; box-sizing: border-box; border-width: 1px; border-style: solid; border-color: rgba(196, 196, 196, 1); } .book { /* 桌面样式 */ font-size: 20px; color: #ffffff; } button { /* 桌面样式 */ background-color: transparent; border-style: none; } /* 手机样式 */ @media (max-width: 480px) { .page { width: auto; height: auto; padding: 10px; } .view { margin-top: 50px; margin-left: 20px; } .caption { height: auto; max-width: none; font-size: 24px; line-height: 30px; text-overflow: initial; } .title { margin-top: 2px; font-size: 24px; line-height: 30px; } .item-wrapper { margin-top: 40px; margin-left: 20px; } .item { width: auto; height: auto; max-width: 100%; max-height: none; } .book-wrapper { margin-top: 80px; margin-right: 20px; } .book { font-size: 16px; } } ``` 在上述示例中,我们添加了一个媒体查询以应用适应手机设备的CSS样式。媒体查询的条件是最大宽度为480像素,这意味着当浏览器宽度小于或等于480像素时,将应用手机样式。在手机样式中,我们对各个元素进行了调整,以适应手机屏幕的大小和布局。 请注意,这只是一个示例,您可以根据您的具体需求和设计进行进一步的调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值