css中转换为行内样式的解决方案(css-inline)
(编辑:jimmy 日期: 2025/10/27 浏览:3 次 )
聊聊场景
- 发送邮件
- 在第三方网站中嵌入HTML
- 从其他编辑器拷贝编辑好的文章发布到微信、今日头条等自媒体
在以上场景使用行内样式的兼容性要高很多,也可以保持原样式不变
解决方案
- juice
- inline-css
这两种方案功能和 Api 非常相似,这里就以 juice 为例
安装
npm i juice --save
使用
import juice from 'juice'
const html = `
<div class="test"><h1>测试Juice</h1></div>
<style>
div{
width: 90%;
height: 500px;
}
</style>
const result = juice(html)
console.log(result)
结果
<div style="width: 90%; height: 500px;"> <h1>测试Juice</h1> </div>
ps:下面看下CSS - 行内块元素(inline-block)、标签显示模式转换 display
行内块元素(inline-block)
在行内元素中有几个特殊的标签——<img />、<input />、<td>,可以对它们设置宽高和对齐属性,有些资料可能会称它们为行内块元素。
行内块元素的特点:
(1)和相邻行内元素(行内块)在一行上,但是之间会有空白缝隙。
(2)默认宽度就是它本身内容的宽度。
(3)高度,行高、外边距以及内边距都可以控制。
标签显示模式转换 display
块转行内:display:inline;
行内转块:display:block;
块、行内元素转换为行内块: display: inline-block;
总结
下一篇:CSS实现波动水球效果的示例代码
