浅析新浪微博:以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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hybrid.js_js交互是什么意思

    hybrid.js_js交互是什么意思HybridApp(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“NativeApp良好交互体验的优势”和“WebApp跨平台开发的优势”。

    2022年9月22日
    3
  • Python字符串删除、截取,删除某个字符、片段[通俗易懂]

    Python字符串删除、截取,删除某个字符、片段[通俗易懂]各种字符串删除操作删除字符串某一片段删除、替换指定字符删除字符串某一片段使用字符串切片,如:str1=’1abcd.txt’str2=str1[1:-4]print(str2)Out:’abcd’索引[x,y],当某一项为0时,可以省略不写索引[x,y],当某一项为负数时,代表倒数索引删除、替换指定字符使用replace(),如:删除:replace(‘指定字符’,”),是通过将指定字符替换为空实现的str1=’abkcd’str2=str1.replac

    2022年6月3日
    48
  • PHP5.6 和PHP7.0区别

    PHP5.6 和PHP7.0区别

    2021年11月5日
    45
  • 为什么要进行分销?

    为什么要进行分销?

    2021年6月17日
    96
  • 图形推理题_图形推理必做100题答案

    图形推理题_图形推理必做100题答案一、轴对称和中心对称的判定1、把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:A.①③④,②⑤⑥B.①③⑤,②④⑥C.①②⑥,③④⑤D.①④⑥,②③

    2022年8月2日
    8
  • leetcode-38外观数列

    leetcode-38外观数列原题链接给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”

    2022年8月8日
    5

发表回复

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

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