webkit-box-orient:vertical 编译报错之autoprefixer问题

简介: webkit-box-orient:vertical 编译报错之autoprefixer问题

由于各大浏览器的兼容问题,autoprefixer 插件 就可以帮我们自动补齐前缀。它和 lessscss 这样的预处理器不同,它属于后置处理器。


  • 预处理器:在打包之前进行处理


  • 后置处理器:在代码打包生成后再进行处理


autoprefixer 其实是 postCss 的一个插件,postCss 本身是一个用 JavaScript 工具和插件转换 CSS 代码的工具,它提供了许多强大的处理 CSS 的功能。


autoprefixer插件广泛应用于前端项目的打包配置中,具体配置请参考官方文档👈👈。


Autoprefixer css补全前缀功能


Autoprefixer处理前css代码

display: flex;

Autoprefixer处理后css代码

display: -webkit-box;
display: -ms-flexbox;
display: flex;

点击这里,在线测试css样式在不同浏览器的自动补全效果!

image.png


CSS-文本超出显示省略号


布局样式中,经常会遇到超出显示省略号的需求,有的显示一行,有的显示两行、三行,通常采用如下样式:


  1. 单行文本省略


// 文本溢出省略号
.ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


  1. 多行文本省略


这里使用的是less混合传参的方式

.clamp_fun(@line: 1) {
  overflow: hidden;
  text-overflow: ellipsis;
  /* autoprefixer: off*/
  -webkit-box-orient: vertical;
  /* autoprefixer: on*/
  display: -webkit-box;
  -webkit-line-clamp: @line;
}
.clamp_1 {
  .clamp_fun(1);
}
.clamp_2 {
  .clamp_fun(2);
}
.clamp_3 {
  .clamp_fun(3);
}
  • display: -webkit-box; 将对象作为弹性伸缩盒子模型显示。
  • -webkit-line-clamp: 2; 这个属性不是css的规范属性,需要组合上面两个属性,表示显示的行数。
  • -webkit-box-orient: vertical; 从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)


编译报错问题解决


上面通过注释 autoprefixer off on,编译中报错,错误信息如下:


(43:3)Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.

image.png

这种写法已经过时了,采用下面的写法:

/* autoprefixer: ignore next */

/* autoprefixer: ignore next */
-webkit-box-orient: vertical;


目录
相关文章
|
1月前
|
前端开发 开发者 容器
CSS3:flex&box-sizing
本文介绍了CSS中的Flex布局及其相关属性,如`flex-direction`、`flex-wrap`、`justify-content`等,并通过代码示例展示了如何使用这些属性来控制容器内的项目排列方式。同时,还讲解了`align-items`属性用于定义子元素在交叉轴上的对齐方式,以及`box-sizing`属性的不同取值对元素尺寸计算的影响。
|
6月前
|
前端开发
CSS:为什么看起来content-box更合理,但还是经常使用border-box?
CSS:为什么看起来content-box更合理,但还是经常使用border-box?
113 2
|
前端开发 程序员
【CSS】vertical-align属性
【CSS】vertical-align属性
|
安全 Shell 测试技术
|
存储 NoSQL 安全
|
安全 Shell 测试技术
CSS 02 border-radius
html: <div class="demo"> </div> css: .demo{ width:200px; heigth:200px; border:1px solid #ccc; background-color:#f66; margin:50px auto; border-radius:50%; // border-radius: 50% 50% 50% 50%; } 画一个半圆 .demo{ width:200px; heigth:200px; border:1px solid #cc
|
前端开发
css中使用“-webkit-appearance: none;”去除系统默认appearance的样式引发的问题
解决网站bug时,发现一个棘手的问题:<input type="checkbox">的复选框选中了没有打钩,经排查,是由于css中“-webkit-appearance: none;”导致的,改成“-webkit-appearance: checkbox”后恢复正常。查询资料:总结如下
669 0