html tip实现

一、介绍before/after

CSS中的before和after伪类选择器早在CSS2时就被引入,改属性被所有主流浏览器所支持了。
before和after顾名思义,分别指的是伪元素在元素前/后添加内容,默认他们是display是inline,但是可以使用CSS设置为block。
应用before/和after也比较简单,举个例子:

a:after {
      content: " after ";
      display:  block;
      coloe: red;
}

可以在浏览器看到,a标签元素后面多出了一段文字 after。(在CSS3中伪类元素使用是如a::after的,不过目前两者并无多大区别)。
(伪元素不可通过DOM使用,IE6/7对该属性不支持)

after和before伪元素有许多用处,还可以简化代码,比如可以写一个计数器、tip小三角形、清除浮动……特别在CSS3中新加的一些属性更是丰富了它的应用,这里有个小教程,用before/after伪元素来实现一个纯CSS3的tooltip。

二、tooltip实现教程

demo:https://hwlv.github.io/fullpage/test/after.html

这里我们主要是用草after/before伪元素content中的attr属性,先来看看实现后的样子:

1.实现样式

2.代码

鼠标hover button之后,出现一个tooltip小标签。
代码先贴上:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .btn {
            position: relative;
            display: block;
            margin: 200px auto;
            width: 200px;
            padding: 10px 20px;
            font-size: 20px;
            background: #fff;
            color: #6bdf4e;
            border: 1px solid #6bdf4e;
            cursor: pointer;
        }
        .btn::after {
            content: attr(data-tip);
            display: none;
            position: absolute;
            padding: 5px 10px;
            left: 50%;
            bottom: 100%;
            margin-bottom: 12px;
            transform: translateX(-50%);
            font-size: 16px;
            background: #000;
            color: #fff;
            cursor: default;
        }
        .btn::before {
            content: " ";
            position: absolute;
            display: none;
            left: 50%;
            bottom: 100%;
            transform: translateX(-50%);
            margin-bottom: 3px;
            width: 0;
            height: 0;
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-top: 9px solid #000;
        }
        .btn:hover::after,
        .btn:hover::before {
            display: block;
        }
    </style>
</head>
<body>
    <button class="btn" data-tip="ToolTip">button</button>
</body>
</html>

3.实现过程

  • 一. 创建一个标签,然后在标签内加上一个属性 data-[] = “ToolTip”,[]表示的是自定义的属性名称,引号里面是tooltip需要显示的内容。
  • 二. 给标签加样式,position设置为relative,因为之后伪元素需要设置绝对定位来设置位置。
  • 三. 给after加样式,after是需要显示的tooltip,通过content: attr(data-tip);拿到需要显示的内容,设置绝对定位,调整位置。
  • 四. 给before加样式,before需要设置成一个小三角tip放在after下面。
  • 五. 给after/before的display都设置为none。
  • 六. 给需要tooltip的元素伪类选择hover时设置after/before的display为block,这里需要注意的是after/before默认display为inline,所以我们前面创建调试是display应该先设置为block。
  • 七. 打开浏览器查看效果
时间: 2024-10-30 06:17:57

html tip实现的相关文章

Tip:JSP标签也称之为Jsp Action(JSP动作)元素

JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. ================ <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入.语法: <jsp:include page="relativeURL | <%=expression%>" flush=&

命令执行的tip

先看一个例子:本地测试环境:php 5.4.45 + win <?php $command = 'dir '.$_POST['dir']; $escaped_command = escapeshellcmd($command); var_dump($escaped_command); file_put_contents('out.bat',$escaped_command); system('out.bat'); ?> 应该如何去绕过执行? escapeshellcmd http://php.

Vagrant Tip: Virtualbox Guest Additions

Vagrant Tip: Virtualbox Guest Additions 12 February 2016 Tired of seeing this message when you run vagrant up? ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: The guest additions on this VM do not m

解决 failed to push some refs to &#39;[email&#160;protected]:zle1992/head-first-java&#39; hint: Updates were rejected because the tip of your curr

问题描述: 寒假之前用实验室电脑push到github 上head first java 的程序,寒假回家后,想用自己的笔记本继续编,继续push . 我先从github下载zip到本地,然后 解压后,继续编程,但是用git push origin master 出现问题如下: 试了很多方法,最终解决方案如下: 思路: 新建一个文件夹,用pull 命令把文件从github下载下来,编写好新的程序,git add  git commit  git push 参考: http://www.tuico

Saw a tweet from Andrew Liam Trask, sounds like Oxford DeepNLP 2017 class have all videos slides practicals all up. Thanks Andrew for the tip!

Saw a tweet from Andrew Liam Trask, sounds like Oxford DeepNLP 2017 class have all videos/slides/practicals all up. Thanks Andrew for the tip! Preamble This repository contains the lecture slides and course description for the Deep Natural Language P

封装tip控件

在界面上有时需要显示一个提示,大多的前端框架都把提示做成一个带有小尖角的提示框,因此自己也仿照了实现了一下,效果图如下: 尖角的实现很简单的,一般都是通过css将div的宽高设置为0,然后将尖角朝向的那一边的边的宽度设置为0,然后给两边的边框设置宽度为一个大于0的数字,并将颜色设置为透明,然后将剩余的一边框设置宽度和颜色即可. 下面是我的实现方式: 首先是对应的HTML文件: <!DOCTYPE> <html> <head> <title>tip_demo&

tip of Firefox extention tab mix plus

Tabs are presented in most-recently-used order, similar to Alt+Tab on various operating systems tip of Firefox extention tab mix plus,布布扣,bubuko.com

tip of Firefox extention foxyproxy

tip of Firefox extention foxyproxytip of Firefox extention foxyproxy,布布扣,bubuko.com

小tip:CSS3下的渐变文字效果实现——张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1601 一.方法一:借助mask-image属性 可以狠狠地点击这里:CSS3下的渐变文字效果方法一demo 如果您手头上的浏览器是Chrome或是Safari,则您可以在demo页面中看到类似下面的效果: 相应的HTML代码如下: <h2 class="text-gradient" data-text=

Android Quick Tip - ADB over WiFi

http://stuffandtech.blogspot.jp/2012/03/android-quick-tip-adb-over-wifi.html MAR 26 Android Quick Tip - ADB over WiFi Someone I had the pleasure of working with recently showed me something extremely cool for Android development. It is simply that it