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 中的类和闭包
Jan 08 Javascript
拥抱模块化的JavaScript
Mar 07 Javascript
JQuery防止退格键网页后退的实现代码
Mar 23 Javascript
js读写(删除)Cookie实例详解
Apr 17 Javascript
jquery.mobile 共同布局遇到的问题小结
Feb 10 Javascript
js实现Select列表内容自动滚动效果代码
Aug 20 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
Oct 16 Javascript
jQuery Select下拉框操作小结(推荐)
Jul 22 Javascript
简单实现jQuery轮播效果
Aug 18 jQuery
使用vue制作FullPage页面滚动效果
Aug 21 Javascript
vue 指令之气泡提示效果的实现代码
Oct 18 Javascript
使用JS实现简易计算器
Jun 14 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
用 PHP5 轻松解析 XML
2006/12/04 PHP
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
javascript window对象属性整理
2009/10/24 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
移动端界面的适配
2017/01/11 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
python发布模块的步骤分享
2014/02/21 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Python制作刷网页流量工具
2017/04/23 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
python 的topk算法实例
2020/04/02 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
Europcar比利时:租车
2019/08/26 全球购物
党员个人对照检查材料思想汇报
2014/09/16 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL