第056个
专栏目标
在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。
本文章目录
应用场景
vue项目中,如何做CSS在线格式化呢,下面的示例就是这样的一个小工具,具体的看源代码
示例效果
示例源代码(共90行)
/*
* @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN)
* @此源代码版权归大剑师兰特所有,可供学习或商业项目中借鉴,未经授权,不得重复地发表到博客、论坛,问答,git等公共空间或网站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2023-12-19
*/
<template>
<div class="djs-box">
<div class="topBox">
<h3>vue工具:CSS在线格式化 </h3>
<div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
</div>
<div class="dajianshi">
<el-input type="textarea" :rows="10" v-model="textdata" style="font-size: 18px;"></el-input>
</div>
<h4>
<el-button type="success" size="small" @click="CSSencode(textdata)">横向排列</el-button>
<el-button type="primary" size="small" @click="CSSdecode(textdata)">竖向排列</el-button>
</h4>
</div>
</template>
<script>
export default {
data() {
return {
textdata: '',
}
},
mounted() {
},
methods: {
CSSencode(code)
{
code = code.replace(/\r\n/ig,'');
code = code.replace(/(\s){2,}/ig,'$1');
code = code.replace(/\t/ig,'');
code = code.replace(/\n\}/ig,'\}');
code = code.replace(/\n\{\s*/ig,'\{');
code = code.replace(/(\S)\s*\}/ig,'$1\}');
code = code.replace(/(\S)\s*\{/ig,'$1\{');
code = code.replace(/\{\s*(\S)/ig,'\{$1');
this.textdata=code;
} ,
CSSdecode(code)
{
code = code.replace(/(\s){2,}/ig,'$1');
code = code.replace(/(\S)\s*\{/ig,'$1 {');
code = code.replace(/\*\/(.[^\}\{]*)}/ig,'\*\/\n$1}');
code = code.replace(/\/\*/ig,'\n\/\*');
code = code.replace(/;\s*(\S)/ig,';\n\t$1');
code = code.replace(/\}\s*(\S)/ig,'\}\n$1');
code = code.replace(/\n\s*\}/ig,'\n\}');
code = code.replace(/\{\s*(\S)/ig,'\{\n\t$1');
code = code.replace(/(\S)\s*\*\//ig,'$1\*\/');
code = code.replace(/\*\/\s*([^\}\{]\S)/ig,'\*\/\n\t$1');
code = code.replace(/(\S)\}/ig,'$1\n\}');
code = code.replace(/(\n){2,}/ig,'\n');
code = code.replace(/:/ig,':');
code = code.replace(/ /ig,' ');
this.textdata=code;
}
}
}
</script>
<style scoped>
.djs-box {
width: 900px;
height: 580px;
margin: 50px auto;
border: 1px solid seagreen;
}
.topBox {
margin: 0 auto 0px;
padding: 10px 0 20px;
background: #666;
color: #fff;
}
.dajianshi {
width: 90%;
height: 300px;
margin: 50px auto 0;
}
</style>