vue文本点击样式设置

  • Post author:
  • Post category:vue




嘚吧嘚

相信当家在写代码的过程中,文本的点击事件是常有的吧,如历史搜索记录、页面跳转等。本次就就分享一下文本点击样式设置。

为了提升用户体验,不仅仅是在文本上添加一个点击事件就完了,还要友好的提示鼠标悬停在哪一项上,首先鼠标悬浮在文本区域时光标要

由箭头变成小手

的样式,同时

文本区域的样式也要有所变化

(如字体颜色或者背景颜色改变等)。

简单做了一个demo,最终实现效果如下😄。

在这里插入图片描述


这里设置的样式是比较通用的,还是要根据实际情况设置或者微调,因为不同的场景可能会有不同的需求,比如有些场景鼠标悬停时,只要求改变字体颜色,背景颜色不需要改变等。



干就完了

想法有了,接下来就是实现了。一个一个来吧,首先实现光标变小手的效果。



光标边小手

光标的样式是由style中的cursor来控制的,cursor有auto、default、pointer、text、wait、help6种类型。

6种效果都看一下。

  <div style="height: 200px; width: 400px;overflow-y: auto;">
    <el-row>
      <span style="float: left; cursor: pointer; width: 300px;">pointer:一只小手</span>
    </el-row>
    <el-row>
      <span style="float: left; cursor: auto; width: 300px;">auto:浏览器设置的光标</span>
    </el-row>
    <el-row>
      <span style="float: left; cursor: default; width: 300px;">default:默认鼠标箭头</span>
    </el-row>
    <el-row>
      <span style="float: left; cursor: text; width: 300px;">text:表示文本光标</span>
    </el-row>
    <el-row>
      <span style="float: left; cursor: wait; width: 300px;">wait:通常是一个圈圈或者沙漏</span>
    </el-row>
    <el-row>
      <span style="float: left; cursor: help; width: 300px;">help:通常是一个问号或者一个气球</span>
    </el-row>
  </div>



pointer



在这里插入图片描述



auto



在这里插入图片描述



default



在这里插入图片描述



text



在这里插入图片描述



wait



在这里插入图片描述



help



在这里插入图片描述

变小手就用pointer类型,代码如下

  <div style="height: 70px;">
    <el-row>
      <span style="float: left; cursor: pointer; width: 100px;" @click="getView">百度</span>
    </el-row>
    <el-row>
      <span style="float: left; cursor: pointer; width: 100px;" @click="getView">CSDN</span>
    </el-row>
  </div>



文本域样式修改

文本与的样式设置需要用css的

hover

样式了,这里和大家分享一下hover常用的几个语法。



hover语法



语法一

selector:hover{}

鼠标悬停在selector元素上的时候给selector元素设置样式。

如下css实现的效果:row1下面的所有文字颜色都会变为红色。

.row1:hover {
  color: red;
}
  <div style="height: 200px; width: 400px;overflow-y: auto;">
    <el-row class="row1">
      <span class="span1" style="float: left; cursor: pointer; width: 100px;">span1</span>
      <span class="span2" style="float: left; cursor: pointer; width: 100px;">span2</span>
    </el-row>
  </div>

效果如下:

在这里插入图片描述



语法二

selector:hover childSelector{}

鼠标悬停在selector元素上的时候给childSelector元素设置样式,childSelector是selector的

子元素

如下css实现的效果:只有row1下面的span1的文字颜色变成红色,其他的不变。

.row1:hover .span1 {
  color: red;
}
  <div style="height: 200px; width: 400px;overflow-y: auto;">
    <el-row class="row1">
      <span class="span1" style="float: left; cursor: pointer; width: 100px;">span1</span>
      <span class="span2" style="float: left; cursor: pointer; width: 100px;">span2</span>
    </el-row>
  </div>

效果如下:

在这里插入图片描述



语法三

selector:hover > childSelector{}

鼠标悬停在selector元素上的时候,给childSelector元素设置样式。childSelector是selector的

直系子元素

如下css实现的效果:只有row1下面的span1的文字颜色变成红色,其他的不变。

.row1:hover > .span1 {
  color: red;
}
  <div style="height: 200px; width: 400px;overflow-y: auto;">
    <el-row class="row1">
      <span class="span1" style="float: left; cursor: pointer; width: 100px;">span1</span>
      <span class="span2" style="float: left; cursor: pointer; width: 100px;">span2</span>
    </el-row>
  </div>

效果如下:

在这里插入图片描述



语法四

selector:hover + selector2{}

鼠标悬停在selector元素上的时候,给selector2元素设置样式。selector2是selector的

相邻第一个元素

如下css实现的效果:鼠标悬停在span1上时的span2-1的背景颜色变成绿色,span2-2的不变。

.span1:hover + .span2 {
  background: #13ce66;
}
  <div style="height: 200px; width: 400px;overflow-y: auto;">
    <el-row class="row1">
      <span class="span1" style="float: left; cursor: pointer; width: 100px;">span1</span>
      <span class="span2" style="float: left; cursor: pointer; width: 100px;">span2-1</span>
      <span class="span2" style="float: left; cursor: pointer; width: 100px;">span2-2</span>
    </el-row>
  </div>

效果如下:

在这里插入图片描述



学以致用,效果实现

1、定义一个class名字为

his-span



hover

样式。

.his-span:hover {
  /*改变字体颜色*/
  color: blue;
  /*改变背景颜色*/
  background: #F5F5F6;
}

2、引用

his-span

这个class就可以实现文章开头所展现的效果了。

  <div style="height: 200px; width: 400px;overflow-y: auto;">
    <el-row>
      <span class="his-span" style="float: left; cursor: pointer; width: 100px;" @click="getView">百度</span>
    </el-row>
    <el-row>
      <span class="his-span" style="float: left; cursor: pointer; width: 100px;" @click="getView">CSDN</span>
    </el-row>
  </div>

干完收工!😄



版权声明:本文为engerla原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。