浅析新浪微博:以css实现的小三角提示框

浅析新浪微博:以css实现的小三角提示框

分析新浪微博就会发现一个有趣的带小三角提示框。先来看下效果图:


浅析新浪微博:以css实现的小三角提示框

 
仔细查看代码才发现,并不是使用传统做法以图片的background属性实现,而是以两个”◆”菱形字符实现,这个菱形支持
编码有
GBK,gb312,UTF-8等,也可通过转义字符&#9670输入。
 
浅析新浪微博:以css实现的小三角提示框
实现的原理是:em标签里得◆菱形符号作为外三角边框,而<span>标签里的◆菱形符号正好填充em,当两个菱形符号重叠时,只需调整span里的菱形往下移动1px,那么就能呈现1px的向上三角边框。
浅析新浪微博:以css实现的小三角提示框
由于新浪微博的特性,代码并不容易提取。按照它的思路,我只好自己写一次。
下面是html,为了统一把em标签换成span标签。
<div class="comment"> <div class="arrow"> <span class="out">◆</span> <span class="inside">◆</span> </div> <p>带小三角的提示框</p> </div>

css代码:

.comment{padding:10px;background:#fff; border-radius:3px;border:1px solid #e1e4e5;position:relative } .arrow {_display:none;position:absolute;top:-9px;left:20px;overflow:hidden;display:block; } .arrow .out{display:inline-block;overflow:hidden;color:#e1e4e5; } .arrow .inside{top:1px;color:#fbfbfb;left:0px;position:absolute; }

为什么◆要定义字体?其目的通过字体属性把它放大,也可通过span加上字体加粗font-weight:bold属性再增大三角形边框。明确了方法与原理,我么就可以在不同方向,不同位置放置三角形了。

浅析新浪微博:以css实现的小三角提示框
以上所写代码能够兼容目前所有浏览器,包括IE6。貌似新浪微博的好像不兼容IE6哦,小得瑟一下,哈哈~~~~~~~~

转载于:https://my.oschina.net/collins401/blog/57869

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110405.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • python批量修改文件后缀名_python程序的文件扩展名为

    python批量修改文件后缀名_python程序的文件扩展名为importosdirname=”C:\\Users\\admin\\Desktop\\新建文件夹”#文件所在的目录li=os.listdir(dirname)#将所有图片名放入到lil列表中foriinrange(len(li)):qianzui=os.path.splitext(li[i])[0]#将文件名和扩展名分隔开houzui=os.path.splitext(li[i])[1]print(qianzui)if.

    2022年9月22日
  • 前端面试选择题_vue最新面试题

    前端面试选择题_vue最新面试题面试题集合1、v-model是什么?vue中标签怎么绑定事件?答:v-model这个指令只能用在表单元素上,可以用他进行双向数据绑定。绑定事件:&lt;input@click=doLog()/&gt;2、mvvm框架是什么?说说对双向数据绑定的理解?它和其它框架(jquery)的区别是什么?哪些场景适合?答:mvvm的m模型就是用来定义驱动的数据、v经过数据改变后的html、vm就是连接数据…

    2022年9月3日
  • python3基础:操作xml

    python3基础:操作xmlXML指的是可扩展标记语言(eXtensibleMarkupLanguage),和json类似也是用于存储和传输数据,还可以用作配置文件。类似于HTML超文本标记语言,但是HTML所有的标签都是预定义的,而xml的标签可以随便定义。XML元素指从开始标签到结束标签的部分(均包括开始和结束)一个元素可以包括:其它元素&amp;lt;aa&amp;gt; &amp;lt;bb&amp;gt;&amp;lt;/bb&amp;gt…

    2022年7月12日
  • diff命令安装_diffmerge

    diff命令安装_diffmerge概述:在用git进行源代码版本维护的时候,常常会进行各代码版本之前区别的查看,例如在每次提交改动前进行gitdiff可以看到源文件代码相对相应版本或是远程仓库的改动情况,如果有冲突还需要进行me

    2022年8月3日
  • babel转换es6_ideamaven依赖配置

    babel转换es6_ideamaven依赖配置用Babel-cli将ES6转ES5一、为什么要转ES5   虽然ES6非常好用,但并不是所有浏览器所有客户端都适应ES6的,降成ES5是为了更强的使用性。二、安装转换工具babel-cli1.第一步初始化文件夹(如果已经有package.json文件说明已经初始化过了,可以跳过)右键在文件夹在终端中打开,输入命令npminit-y或者cnpminit-y2.在终端继续输入命令cnpminstall–globalbabel-cli安装ba

    2022年9月16日
  • 1.4 Go语言从入门到精通:Go代理goproxy[通俗易懂]

    1.4 Go语言从入门到精通:Go代理goproxy[通俗易懂]1.4Go语言从入门到精通:Go代理goproxy

    2022年7月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号