首页

echarts-x轴 y轴配置(字体颜色,线的颜色,分割线,y周单位颜色)

前端达人


  1. //var myChart = this.$echarts.init(document.getElementById("echart-twoline")); //vue
  2. var myChart = echarts.init(document.getElementById("echart-twoline"));//jquery
  3. var option = {
  4. tooltip: {
  5. trigger: 'axis',
  6. axisPointer: {
  7. type: 'shadow'
  8. }
  9. },
  10. legend: {
  11. data: ['计划劳务资源', "实际劳务资源"],
  12. //align: 'left',
  13. right: 10,
  14. textStyle: {
  15. color: "#fff"
  16. },
  17. itemWidth: 14,
  18. itemHeight: 10,
  19. itemGap: 13,
  20. },
  21. grid: {
  22. left: '3%',
  23. right: '4%',
  24. bottom: '3%',
  25. containLabel: true
  26. },
  27. xAxis: [{
  28. type: 'category',
  29. data: ['1月','2月','3月', '4月'],
  30. axisLine: {/x轴线的颜色以及宽度
  31. show: true,
  32. lineStyle: {
  33. color: "rgba(219,225,255,1)",
  34. width: 0,
  35. type: "solid"
  36. }
  37. },
  38. axisTick: {
  39. show: false,
  40. },
  41. axisLabel: {//x轴文字的配置
  42. show: true,
  43. textStyle: {
  44. color: "rgba(219,225,255,1)",
  45. }
  46. },
  47. splitLine: {//分割线配置
  48. show:false,
  49. lineStyle: {
  50. color: "rgba(219,225,255,1)",
  51. }
  52. }
  53. }],
  54. yAxis: [{
  55. type: 'value',
  56. name:"单位:人",//y轴上方的单位
  57. nameTextStyle:{//y轴上方单位的颜色
  58. color:'#151515'
  59. },
  60. axisLabel: {//y轴文字的配置
  61. textStyle: {
  62. color: "rgba(219,225,255,1)",
  63. margin: 15
  64. },
  65. // formatter: '{value} %'//y轴的每一个刻度值后面加上‘%’号
  66. },
  67. axisTick: {
  68. show: false,
  69. },
  70. axisLine: {//y轴线的颜色以及宽度
  71. show: false,
  72. lineStyle: {
  73. color: "rgba(219,225,255,1)",
  74. width: 1,
  75. type: "solid"
  76. },
  77. },
  78. splitLine: {//分割线配置
  79. show:false,
  80. lineStyle: {
  81. color: "rgba(219,225,255,1)",
  82. }
  83. }
  84. }],
  85. series: [{
  86. name: '计划劳务资源',
  87. type: 'bar',
  88. data: [38,38,42,48],
  89. barWidth: 10, //柱子宽度
  90. barGap: .5, //柱子之间间距
  91. itemStyle: {
  92. normal: {
  93. color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  94. offset: 0,
  95. color: 'rgba(0, 153, 239, 0.8)'
  96. }, {
  97. offset: 1,
  98. color: 'rgba(66, 187, 255, 1)'
  99. }]),
  100. opacity: 1,
  101. }
  102. }
  103. }, {
  104. name: '实际劳务资源',
  105. type: 'bar',
  106. data: [40, 30, 42, 50],
  107. barWidth: 10,
  108. barGap: .5,
  109. itemStyle: {
  110. normal: {
  111. color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  112. offset: 0,
  113. color: 'rgba(0, 242, 159, 1)'
  114. }, {
  115. offset: 1,
  116. color: 'rgba(76, 240, 254, 1)'
  117. }]),
  118. opacity: 1,
  119. }
  120. }
  121. }]
  122. };
  123. myChart.setOption(option);
  124. window.addEventListener("resize", () => {
  125. myChart.resize();
  126. });

 

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn + 博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


echarts分割线变虚线

前端达人

 
  1. yAxis.splitLine Object
  2. 坐标轴在 grid 区域中的分隔线。
  3. yAxis.splitLine.show boolean
  4. [ default: true ]
  5. 是否显示分隔线。默认数值轴显示,类目轴不显示。
  6. yAxis.splitLine.interval number, Function
  7. [ default: 'auto' ]
  8. 坐标轴分隔线的显示间隔,在类目轴中有效。默认同 axisLabel.interval 一样。
  9. 默认会采用标签不重叠的策略间隔显示标签。
  10. 可以设置成 0 强制显示所有标签。
  11. 如果设置为 1,表示『隔一个标签显示一个标签』,如果值为 2,表示隔两个标签显示一个标签,以此类推。
  12. 可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:
  13. (index:number, value: string) => boolean
  14. 第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 false
  15. yAxis.splitLine.lineStyle Object
  16. yAxis.splitLine.lineStyle.color Array, string
  17. [ default: ['#ccc'] ]
  18. 分隔线颜色,可以设置成单个颜色。
  19. 也可以设置成颜色数组,分隔线会按数组中颜色的顺序依次循环设置颜色。
  20. 示例
  21. splitLine: {
  22. lineStyle: {
  23. // 使用深浅的间隔色
  24. color: ['#aaa', '#ddd']
  25. }
  26. }
  27. yAxis.splitLine.lineStyle.width number
  28. [ default: 1 ]
  29. 分隔线线宽。
  30. yAxis.splitLine.lineStyle.type string
  31. [ default: 'solid' ]
  32. 分隔线线的类型。
  33. 可选:
  34. 'solid'
  35. 'dashed'
  36. 'dotted'
 
  1. yAxis: {
  2. splitLine: {
  3. show: true,
  4. lineStyle:{
  5. type:'dashed'
  6. }
  7. }
  8. },

1

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn + 博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


vue项目引入字体.ttf

前端达人

1、下载所需要的字体,.ttf格式本文以(FZCYJ.ttf 为例)

2、在src下新建common文件,文件夹中包含以下文件


3、打开font.css


  1. @font-face {
  2. font-family: 'FZCYJ'; //重命名字体名
  3. src: url('FZCYJ.ttf'); //引入字体
  4. font-weight: normal;
  5. font-style: normal;
  6. }

4、配置webpack.base.conf.js 文件


5、App.vue引入字体


6、可在body中设置字体


  1. body{
  2. font-family: FZCYJ;
  3. }

 
或者

1、UI设计图有"华文黑体",担心客户端没有该字体,将"huawen.ttf"字体文件,放入项目中:

2、创建一个font.scss(或font.css)文件:

1 @font-face { 2  font-family: 'huawen'; //重命名字体名 3  src: url('huawen.ttf'); //引入字体 4  font-weight: normal; 5  font-style: normal; 6 }

3、在main.js中引入

import '@/common/css/font.scss';

4、就可以直接使用了:

div { font-family: 'huawen';
}

 

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn + 博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

input中提示语得颜色 + input 标签实现输入框带提示文字效果(两种方法)

前端达人



<style>
/修改提示文字的颜色/ input::-webkit-input-placeholder { / WebKit browsers / color: red; } input:-moz-placeholder { / Mozilla Firefox 4 to 18 / color: red; } input::-moz-placeholder { / Mozilla Firefox 19+ / color: red; } input:-ms-input-placeholder { / Internet Explorer 10+ / color: red; } </style>


这篇文章主要介绍了input 标签实现输入框带提示文字效果(两种方法),需要的朋友可以参考下

方法一:html5配合css3实现带提示文字的输入框(摆脱js);

webkit特有的一个css,可以控制里面的文字样式,配合css3的动画效果和伪类,我们就可以很容易做出一个带动画的输入框,在系统登录、搜索等位置很适合,感兴趣的你可以参考下本文或许可以帮助到你,Webkit作为载体开发系统,当然需要大量使用Html5与CSS3,不仅减少大量的JS还可以保证更流畅。

当选中对话框后,提示文字变浅色,输入后消失.这个现在通行的做法是在Input标签后面增加一个Label。使用JS控制。

HTML5出现后,我们有一个更好的方法。

1
<input type="text" placeholder="用户名或邮件地址" name="username"/>

看到有placeholder标签,可以作为用户文字提示。这样子就非常方便了。但是为了最求完美,我们需要在选中后,将文字变浅,或者修改提示文件的样式,我们该怎么办?

1
2
3
4
5
6
7
8
input::-webkit-input-placeholder {
color: #999;
-webkit-transition: color.5s;
}
input:focus::-webkit-input-placeholder, input:hover::-webkit-input-placeholder {
color: #c2c2c2;
-webkit-transition: color.5s;
}

-webkit-input-placeholder,webkit特有的一个css,可以控制里面的文字样式,配合css3的动画效果和伪类,我们就可以很容易做出一个带动画的输入框,在系统登录、搜索等位置很适合。当然你要为了兼容IE6,这个方法是行不通。不过Ie9也支持placeholder标签,就是无法修改它的颜色而已。
那么,如果不支持该怎么办?可以简单直接使用Jquery帮忙,那么在就不在本文讨论范围了。

给一个Demo,Demo地址 必须在Webkit浏览器下才看到完整效果。是不是很方便?

方法二:就是 js 控制;

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<script type="text/javascript">
 $(document).ready(function(){
 $("#focus .input_txt").each(function(){
  var thisVal=$(this).val();
  //判断文本框的值是否为空,有值的情况就隐藏提示语,没有值就显示
  if(thisVal!=""){
  $(this).siblings("span").hide();
  }else{
  $(this).siblings("span").show();
  }
  //聚焦型输入框验证
  $(this).focus(function(){
  $(this).siblings("span").hide();
  }).blur(function(){
  var val=$(this).val();
  if(val!=""){
   $(this).siblings("span").hide();
  }else{
   $(this).siblings("span").show();
  }
  });
 })
 $("#keydown .input_txt").each(function(){
  var thisVal=$(this).val();
  //判断文本框的值是否为空,有值的情况就隐藏提示语,没有值就显示
  if(thisVal!=""){
  $(this).siblings("span").hide();
  }else{
  $(this).siblings("span").show();
  }
  $(this).keyup(function(){
  var val=$(this).val();
  $(this).siblings("span").hide();
  }).blur(function(){
  var val=$(this).val();
  if(val!=""){
   $(this).siblings("span").hide();
  }else{
   $(this).siblings("span").show();
  }
  })
  })
 })
</script>

效果如图;

点击的时候,提示文字消失;失去焦点的时候提示文字出现,但是有内容输入后失去焦点也不显示提示文字;还有,密码框和文本框不一样啊,密码框的值不显现的。

 方法三:直接写标签上;(这个比较实用)

代码如下:

1
2
<input type="text" value="提示内容。。。" onFocus="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" style ="#999;"/>
    </div>

总结

以上所述是小编给大家介绍的input 标签实现输入框带提示文字效果(两种方法),希望对大家有所帮助

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn + 博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

Vue组件基础用法

前端达人

前面的话

组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。根据项目需求,抽象出一些组件,每个组件里包含了展现、功能和样式。每个页面,根据自己所需,使用不同的组件来拼接页面。这种开发模式使前端页面易于扩展,且灵活性高,而且组件之间也实现了解耦。本文将详细介绍Vue组件基础用法

 

概述

在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例

组件是一个自定义元素或称为一个模块,包括所需的模板、逻辑和样式。在HTML模板中,组件以一个自定义标签的形式存在,起到占位符的功能。通过Vue.js的声明式渲染后,占位符将会被替换为实际的内容

下面是一个最简单的模块示例

<div id="app"> <xiaohuochai></xiaohuochai> </div>

 

注册组件

组件注册包括全局注册和局部注册两种

【全局注册】

要注册一个全局组件,可以使用 Vue.component(tagName, options)

Vue.component('my-component', { // 选项 })

组件在注册之后,便可以在父实例的模块中以自定义元素 <my-component></my-component> 的形式使用

[注意]要确保在初始化根实例之前注册了组件

<div id="example"> <my-component></my-component> </div>
复制代码
<script> // 注册 Vue.component('my-component', {
  template: '<div>A custom component!</div>' }) // 创建根实例 new Vue({
  el: '#example' }) </script>
复制代码

【局部注册】

通过使用组件实例选项components注册,可以使组件仅在另一个实例/组件的作用域中可用

<div id="example"> <my-component></my-component> </div>
复制代码
<script> // 注册 var Child = {
  template: '<div>A custom component!</div>' }; // 创建根实例 new Vue({
  el: '#example',
    components: { // <my-component> 将只在父模板可用 'my-component': Child
  }  
}) </script>
复制代码

组件树

使用组件实例选项components注册,可以实现组件树的效果

<div id="example"> <my-component></my-component> </div>
复制代码
<script> // 注册 var headerTitle = {
    template: '<p>我是标题</p>',
}; var headerContent = {
    template: '<p>我是内容</p>',
}; var header = {
  template: ` <div class="hd"> <header-content></header-content> <header-title></header-title> </div>  `,
    components: { 'header-content': headerContent, 'header-title': headerTitle
  }   
}; // 创建实例 new Vue({
  el: '#example',
    components: { 'my-component': header
  }  
}) </script>
复制代码

对于大型应用来说,有必要将整个应用程序划分为组件,以使开发可管理。一般地组件应用模板如下所示

复制代码
<div id="app"> <app-nav></app-nav> <app-view> <app-sidebar></app-sidebar> <app-content></app-content> </app-view> </div>
复制代码

【v-once】

尽管在 Vue 中渲染 HTML 很快,不过当组件中包含大量静态内容时,可以考虑使用 v-once 将渲染结果缓存起来

Vue.component('my-component', {
  template: '<div v-once>hello world!...</div>'
})

 

模板分离

在组件注册中,使用template选项中拼接HTML元素比较麻烦,这也导致了HTML和JS的高耦合性。庆幸的是,Vue.js提供了两种方式将定义在JS中的HTML模板分离出来

【script】

在script标签里使用 text/x-template 类型,并且指定一个 id

<script type="text/x-template" id="hello-world-template"> <p>Hello hello hello</p> </script>
Vue.component('hello-world', {
  template: '#hello-world-template'
})

上面的代码等价于

Vue.component('hello-world', {
  template: '<p>Hello hello hello</p>'
})

下面是一个简单示例

<div id="example"> <my-component></my-component> </div>
<script type="text/x-template" id="hello-world-template"> <div>hello world!</div>  </script>
复制代码
<script> Vue.component('my-component', {
  template: '#hello-world-template' }) new Vue({
  el: '#example' }) </script>
复制代码

【template】

如果使用<template>标签,则不需要指定type属性

<div id="example"> <my-component></my-component> </div>
<template id="hello-world-template"> <div>hello world!</div> </template>
复制代码
<script> // 注册 Vue.component('my-component', {
  template: '#hello-world-template' }) // 创建根实例 new Vue({
  el: '#example' }) </script>
复制代码

 

命名约定

对于组件的命名,W3C规范是字母小写且包含一个中划线(-),虽然Vue没有强制要求,但最好遵循规范  

<!-- 在HTML模版中始终使用 kebab-case --> <kebab-cased-component></kebab-cased-component> <camel-cased-component></camel-cased-component> <pascal-cased-component></pascal-cased-component>

当注册组件时,使用中划线、小驼峰、大驼峰这三种任意一种都可以

复制代码
// 在组件定义中
components: {
  // 使用 中划线 形式注册
  'kebab-cased-component': { /* ... */ },
  // 使用 小驼峰 形式注册
  'camelCasedComponent': { /* ... */ },
  // 使用 大驼峰 形式注册
  'PascalCasedComponent': { /* ... */ }
}
复制代码

 

嵌套限制

并不是所有的元素都可以嵌套模板,因为要受到HTML元素嵌套规则的限制,尤其像<ul><ol><table><select> 限制了能被它包裹的元素,而一些像 <option> 这样的元素只能出现在某些其它元素内部

[注意]关于HTML标签的详细嵌套规则移步至此

在自定义组件中使用这些受限制的元素时会导致一些问题,例如

<table id="example"> <my-row>...</my-row> </table>

自定义组件 <my-row> 被认为是无效的内容,因此在渲染的时候会导致错误

复制代码
<script> // 注册 var header = {
  template: '<div class="hd">我是标题</div>' }; // 创建实例 new Vue({
  el: '#example',
    components: { 'my-row': header
  }  
}) </script>
复制代码

【is属性】

   变通的方案是使用特殊的 is 属性

<table id="example"> <tr is="my-row"></tr> </table>
复制代码
<script> // 注册 var header = {
  template: '<div class="hd">我是标题</div>' }; // 创建实例 new Vue({
  el: '#example',
    components: { 'my-row': header
  }  
}) </script>
复制代码

 

根元素

Vue强制要求每一个Vue实例(组件本质上就是一个Vue实例)需要有一个根元素

如下所示,则会报错

<div id="example">
  <my-component></my-component>
</div>
复制代码
<script>
// 注册 Vue.component('my-component', {
  template: ` <p>第一段</p> <p>第二段</p>  `,
})
// 创建根实例
new Vue({
  el: '#example' })
</script>
复制代码

需要改写成如下所示

复制代码
<script>
// 注册 Vue.component('my-component', {
  template: ` <div> <p>第一段</p> <p>第二段</p> </div>  `,
})
// 创建根实例
new Vue({
  el: '#example' })
</script>
复制代码

 

data数据

一般地,我们在Vue实例对象或Vue组件对象中,我们通过data来传递数据

<div id="example"> <my-component></my-component> <my-component></my-component> <my-component></my-component> </div>
复制代码
<script> // 注册 Vue.component('my-component', {
  template: '<div>{{message}}</div>',
  data:{
      message: 'hello' }
}) // 创建根实例 new Vue({
  el: '#example' }) </script>
复制代码

运行上面的代码,会使Vue停止执行,并在控制台发出错误提示,告诉你在组件中 data 必须是一个函数

可以用如下方式来绕开Vue的错误提示

复制代码
<script> // 注册 var data = {counter: 0}
Vue.component('my-component', {
  template: '<button v-on:click="counter += 1">{{ counter }}</button>',
  data:function(){ return data;
  }
}) // 创建根实例 new Vue({
  el: '#example' }) </script>
复制代码

由于这三个组件共享了同一个 data,因此增加一个 counter 会影响所有组件

当一个组件被定义, data 需要声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象。通过提供 data 函数,每次创建一个新实例后,能够调用 data 函数,从而返回初始数据的一个全新副本数据对象

因此,可以通过为每个组件返回全新的 data 对象来解决这个问题: 

复制代码
<script> // 注册 Vue.component('my-component', {
  template: '<button v-on:click="counter += 1">{{ counter }}</button>',
  data:function(){ return {counter: 0};
  }
}) // 创建根实例 new Vue({
  el: '#example' }) </script>
复制代码

现在每个 counter 都有它自己内部的状态了

 

原生事件

有时候,可能想在某个组件的根元素上监听一个原生事件。直接使用v-bind指令是不生效的

<div id="example"> <my-component @click="doTheThing"></my-component> <p>{{message}}</p> </div>
复制代码
<script> Vue.component('my-component', {
  template: '<button>按钮</button>',
}) new Vue({
  el: '#example',
  data:{
    message:0 },
  methods:{
    doTheThing(){ this.message++;
    }
  }
}) </script>
复制代码

可以使用 .native 修饰 v-on指令即可

<div id="example"> <my-component @click.native="doTheThing"></my-component> <p>{{message}}</p> </div>
复制代码
<script> Vue.component('my-component', {
  template: '<button>按钮</button>',
}) new Vue({
  el: '#example',
  data:{
    message:0 },
  methods:{
    doTheThing(){ this.message++;
    }
  }
}) </script>
复制代码



蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


vue中引用图片

前端达人

一、template中引用图片

1. 直接用

<template>
    <img src="@/assets/images/img.png">
    <img src="../../../assets/images//img.png">
<template/> 
  • 1
  • 2
  • 3
  • 4

2. import引入

<template>
    <img :src="imgUrl">
<template/>
<script>
    import imgUrl from '@/assets/images/img.png'
    export default {
        data () {
            return {
                imgUrl: imgUrl
            }
        }
    }
</script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

二、script中引用图片

同上 一、2import引入

三、style中引用图片

  1. 正常来讲可以直接用
.test1 {
    background-image: url(../../../../assets/images/img.png)
}
.test2 {
    background-image: url(@/assets/images/img.png);
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 但是在scss方式中不可以直接用
<style scoped lang="scss">
$img: "../../assets/images/img.png";
.test {
    background-image: url('#{$img}');
}

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn

分享此文一切功德,皆悉回向给文章原作者及众读者. 免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

如何限制datatable列宽--(收缩内容)

前端达人

实现功能:dataTable某列内容过长的话,只显示部分内容,鼠标点击显示全部,再点击显示部分。可以切换。

效果图:

鼠标点击:

如果再次点击,备注内容又收缩了。

JS实现代码如下:

var remarkShowLength = 10;//默认现实的字符串长度

datatable中的配置:

首先在 columnDefs 中显示文本的时候,如果超长,就只显示部分。

然后通过 createdRow ,如果备注信息超长的话,给该td元素添加上onclick时间,鼠标点击的时候,可以进行切换。并且将全部的字符信息 data.remarks 放置到属性中去,以便后面可以取出来。


  1. "createdRow": function( row, data, dataIndex ) {
  2. if(data.remarks.length > remarkShowLength){//只有超长,才有td点击事件
  3. $(row).children('td').eq(7).attr('onclick','javascript:changeShowRemarks(this);');
  4. }
  5. $(row).children('td').eq(7).attr('content',data.remarks);
  6. },
  7. "ajax" : {
  8. "url" : "/cluster/list?importantLevel=" + $('#searchImportantLevelSelect').val()
  9. },
  10. "columnDefs" : [
  11. {
  12. "type": "date",
  13. "targets": 7,
  14. "render": function (data, type, full, meta) {
  15. if (full.remarks.length > remarkShowLength) {
 return getPartialRemarksHtml(full.remarks);//显示部分信息
 } else {

 return full.remarks;//显示原始全部信息 }

 }
}
]

下面从td的属性中取出全部的remark,然后根据当前是显示的全部还是显示的部分信息,进行切换。


  1. //切换显示备注信息,显示部分或者全部
  2. function changeShowRemarks(obj){//obj是td
  3. var content = $(obj).attr("content");
  4. if(content != null && content != ''){
  5. if($(obj).attr("isDetail") == 'true'){//当前显示的是详细备注,切换到显示部分
  6. //$(obj).removeAttr('isDetail');//remove也可以
  7. $(obj).attr('isDetail',false);
  8. $(obj).html(getPartialRemarksHtml(content));
  9. }else{//当前显示的是部分备注信息,切换到显示全部
  10. $(obj).attr('isDetail',true);
  11. $(obj).html(getTotalRemarksHtml(content));
  12. }
  13. }
  14. }

 


  1. //部分备注信息
  2. function getPartialRemarksHtml(remarks){
  3. return remarks.substr(0,remarkShowLength) + '&nbsp;&nbsp;<a href="javascript:void(0);" ><b>...</b></a>';
  4. }
  5. //全部备注信息
  6. function getTotalRemarksHtml(remarks){
  7. return remarks + '&nbsp;&nbsp;<a href="javascript:void(0);" >收起</a>';
  8. }

原文链接:https://blog.csdn.net/zz_chst/article/details/79587936?utm_source=blogxgwz5

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:csdn

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

table中td超出内容隐藏,鼠标悬停全部显示(完整版,含js代码)

前端达人

一、CSS语法:
text-overflow:clip | ellipsis
默认值:clip
适用于:所有元素
clip: 当对象内文本溢出时不显示省略标记(...),而是将溢出的部分裁切掉。
ellipsis: 当对象内文本溢出时显示省略标记(...)。
在使用的时候,有时候发现不会出现省略标记效果,经过测试发现,使用ellipsis的时候,必须配合overflow:hidden; white-space:nowrap; width:50%;这三个样式共同使用才会有效果
 
实例:
复制代码
table { width: 100%; float: left; table-layout:fixed; width:500px; border:1px solid #ccc;
        } table tr { line-height: 25px; border:1px solid #ccc;
            } table td { border:1px solid #ccc; text-align:center;
            } .MHover{ border:1px solid #ccc; white-space:nowrap; text-overflow:ellipsis; overflow:hidden;
            }
复制代码
二、HTML代码
复制代码
<table> <tr> <th>姓名</th> <th>个性签名</th> <th>性别</th> </tr> <tr> <td>张国荣</td> <td> <div class="MHover">我就是我,是颜色不一样的烟火!</div> <div class="MALL">我就是我,是颜色不一样的烟火!</div> </td> <td></td> </tr> </table>
复制代码
注:class="MHover"为表格里显示的内容,内容长度超多指定宽度时隐藏多余字段,并在后面加...
class="MALL"为鼠标悬停显示的内容。
三、js代码
复制代码
$(document).ready(function () {
            $(".MALL").hide();
            $(".MHover").mouseover(function (e) {
                $(this).next(".MALL").css({"position":"absolute","top":e.pageY+5,"left":e.pageX+5}).show();
            });
            $(".MHover").mousemove(function (e) {
                $(this).next(".MALL").css({ "color": "fff", "position": "absolute", "opacity": "0.7", "background-color": "666", "top": e.pageY + 5, "left": e.pageX + 5 });
            });
            $(".MHover").mouseout(function () {
                $(this).next(".MALL").hide();
            });
        });
复制代码
注:class="MHover"为表格里显示的内容,内容长度超多指定宽度时隐藏多余字段,并在后面加...
class="MALL"为鼠标悬停显示的内容。


蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

 


DataTables固定表格宽度(设置横向滚动条)

前端达人

当表格的列比较多的时候,可能就需要固定表格的宽度了,默认的100%宽已经不适应了。默认的100%宽要实现改变窗口大小也100%的话,在table元素上添加width="100%",至于css的100%为什么不生效,原因未知。下面就说说设置如何给datatables设置固定的宽度。

1.html代码

复制代码
<div id="tableArea"> <table id="userTable" class="display table table-bordered" cellspacing="0" > <thead> <tr> <th style="display: none">ck</th> <th>序号</th> <th>账号</th> <th>姓名</th> <th>CPID</th> <th>CP名称</th> <th>操作</th> </tr> </thead> </table> </div>
复制代码

 

2.覆盖某些样式(我们的样式优先级高,所以会覆盖内置的样式)

复制代码
#tableArea .dataTables_wrapper { position: relative; clear: both; zoom: 1; overflow-x: auto;
} #tableArea table{ width: 800px;
}
复制代码

这里的overflow-x:auto是新增的,表示表格内容超出宽度后,出现横向滚动条;table的width必须写死宽度,直接写在table元素上不生效,原因未知。

 

3.设置列宽(可略)

"columns": [
    { "data": "number", "orderable": false ,"width":"100px","searchable": false}
]

 

4.运行浏览,发现此时,当浏览器窗口小于800像素的时候,表格出现了横向的滚动条,正是我们想要的结果。

 

5.为什么不用"scrollX":true的配置实现横向滚动条呢?查询它渲染后的网页发现,它把table拆分成了两个表格,一个表示表头,一个表示表体。这不是我想要的,而且它表头的内容若是超出的话是隐藏的。

 

6.还有两个样式,可以参考参考,可能对你有用。

table td{

word-break:break-all;

}

单词也可以允许换行,这对于单元格的宽度有很好的控制,而不会让单元格被内容撑开!

 

table
{
        table-layout:fixed;
}

表格布局算法为固定(列宽由表格宽度和列宽度设定)。




蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

NiceScroll销毁

前端达人

受分页器影响,NiceScroll的滚动条一直显示不正常

干脆直接在分页后销毁重建  在网上查到了这个方法 还比较好用

$("#ID").getNiceScroll().remove();

1 个解决方案

#1


20  

But this works $("#ID").getNiceScroll().remove();

但这有效$(“#ID”)。getNiceScroll()。remove();

Try to execute in console on nicescroll demo page: $("#boxscroll2").getNiceScroll().remove() and you'll see that first div This is a simple scrollable DIV will change from nicescroll scrollbars to native browser ones.

尝试在nicescroll演示页面的控制台中执行:$(“#boxscroll2”)。getNiceScroll()。remove(),你会看到第一个div这是一个简单的可滚动DIV,将从nicescroll滚动条更改为本机浏览器。

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码ben_lanlan,报下信息,会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

文章来源:博客园

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档