vue组件实现文字居中对齐的方法


Posted in Javascript onAugust 23, 2017

继续学习Vue,这次是一个组件的制作过程

先让我们来看一下组件的预期效果

vue组件实现文字居中对齐的方法

上图为公司自营的一个微信商城的某一部分截图,可以看到红框内部分的文字多行与单行是居中对齐的,我们现在要做的就是使用Vue把里边的文字模块制作成一个可以复用的组件。

首先我们先把css部分拿下来 

css:

.word-v-middle{
margin-bottom: 0;
font-size: 12px;
min-height: 31px;
display: flex;
align-items: center;
justify-content: center;
height: 31px;
margin-top: 5px;
color: #87878a;
white-space: normal;
}
.word-v-middle span{
text-align: left;
font-size: 10px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}

上边就是组件的核心css,也就是使文字上下居中的css,接下来我们先把它封装成一个Vue组件

html部分

<p class="word-v-middle"><span>文字内容</span></p>

我们先把这部分注册成一个组件,这里使用的是组件的局部注册方法

var wordMiddle = {
template:'<p class="word-v-middle"><span>文字内容</span></p>',
};

之后实例化

html:

<div id="exp">
<word-v-middle></word-v-middle>
</div>

js:

new Vue({
el:"#exp",

components:{


'word-v-middle':wordMiddle

}
});

这样第一步就算完成了效果图如下

vue组件实现文字居中对齐的方法

第二步我们来给组件绑定动态的数据,我们先在组件注册的时候添加一个props方法,让组件可以接受数据,之后使用data方法来为组件添加数据

var wordMiddle = {
template:'<p class="word-v-middle"><span>{{msg}}</span></p>',

props:['data'],

data:function(){


return {



msg:this.data


};

}
};

这样我们的组件就可以接收数据并把数据绑定到内容中,实例化时的代码也要对应的改变一下

html部分

<div id="exp">
<word-v-middle :data='aaa' ></word-v-middle>
</div>

js部分

new Vue({
el:"#exp",

data:{


aaa:'hello',

},

components:{


'word-v-middle':wordMiddle

}
})

到这里单个动态数据的组件以及完成了,但项目中用到这种对齐方式的一般都是多列的块结构,所以我们再写一个多列的例子,并使用循环绑定多个数据

css部分

#example2{
width: 100%;

overflow: hidden;
}
#example2 div{

float: left;

width: 25%;
}

html部分

<div id="example2">
<div v-for='aaa in sites'>


<word-v-middle :data='aaa' ></word-v-middle>

</div>
</div>

js部分

new Vue({
el:"#example2",

data:{


sites:[




"洗发水洗发水洗发水",




"洗发水洗发水",




"洗发水洗发水洗发水洗发水洗发水",





"洗发水洗发水", 




 ]



},

components:{


'word-v-middle':wordMiddle

}
})

vue组件实现文字居中对齐的方法

效果如上图,上述代码中,css部分是为了让代码为并列的四列,html中使用v-for方法循环数据,在组建内通过:data='aaa'接收循环输出的数据,而数据的来源是父元素实例化中的data内的名为sites的数组,在实际项目中,把sites内的数据换成后台输出的数组就可以实现后台数据的绑定。

代码还有很多不足的地方,比如想要更改上下对齐的行数还要通过修改css修改,这篇文章仅作为学习Vue的小结,供自己以后复习学习使用,有什么问题希望大家指正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 大数据相加的问题
Aug 03 Javascript
基于jquery的拖动布局插件
Nov 25 Javascript
JS根据年月获得当月天数的实现代码
Jul 03 Javascript
详解jQuery中的empty、remove和detach
Apr 11 Javascript
jquery中的常见问题及快速解决方法小结
Jun 14 Javascript
总结JavaScript的正则与其他语言的不同之处
Aug 25 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
Node.js 如何利用异步提升任务处理速度
Jan 07 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
Jan 08 Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 #Javascript
深入理解React中何时使用箭头函数
Aug 23 #Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 #jQuery
JS数组交集、并集、差集的示例代码
Aug 23 #Javascript
关于Vue实现组件信息的缓存问题
Aug 23 #Javascript
详解webpack进阶之loader篇
Aug 23 #Javascript
Vue中定义全局变量与常量的各种方式详解
Aug 23 #Javascript
You might like
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python实现键盘控制鼠标移动
2020/11/27 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
Python timeit模块原理及使用方法
2020/10/10 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
美术国培研修感言
2014/02/12 职场文书
个人买房协议书范本
2014/10/06 职场文书
孔繁森观后感
2015/06/10 职场文书
医院病假条怎么写
2015/08/17 职场文书
女方家长婚礼答谢词
2015/09/29 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
k-means & DBSCAN 总结
2021/04/27 Python
Python中常见的导入方式总结
2021/05/06 Python