用css样式画尖角

<span style="font-family: KaiTi_GB2312; background-color: rgb(255, 255, 255);">效果图(百度某年笔试题):</span>


<span style="font-size:14px;"><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #demo {
            width: 100px;
            height: 100px;
            background-color: #fff;
            position: relative;
            border: 2px solid #333;
        }

        #demo:after, #demo:before {
            border: solid transparent;
            content: ' ';
            height: 0;
            left: 100%;/*相当于left:100px;(因为div宽度为100px)*/
            position: absolute;
            width: 0;
        }
        #demo:after {
            border-width: 10px;
            border-left-color: #fff;
            top: 20px;
        }

        #demo:before {
            border-width: 12px;
            border-left-color: #000;
            top: 18px;
        }

    </style>
</head>
<body>
    <div id="demo"></div>
</body>
</html></span>
一些注意要点:

1.#demo:before会比#demo:after先执行

2.伪类和伪元素的区别:

 (1)伪类,顾名思义,就是实际不存在的类,但我们却和对待真实的类一样去对待它。类,通俗的讲,就是有这样一些元素,因为它们具有某一种相同点,所以我们把它们归为一类。而伪类,可以理解为,就是几个已经被规定好了的特点,比如,a:hover,指的就是鼠标滑过a元素这个特点,具有这个特点的元素,都要执行a:hover指定的样式,再比如,ul:first-child,指的就是具有子元素、而且子元素可能不止一个(也可以唯一)这个特点,具有这个特点的元素,都要让自己的第一个子元素,执行ul:first-child指定的样式。

 (2)伪元素,同样顾名思义,就是实际不存在的元素。实际存在的元素,可以理解为我们写在html中的那些标签,一个标签就是一个元素。而伪元素这类元素,并没有对应的一个标签,但我们还可以对它们进行一些样式操作。比如,p:before,意思是,在p标签之前插入我们的伪元素,我们可以给p:before设置样式,像对待一般元素一样对待它,但它并没有自己对应的标签,因此,叫它伪元素。再比如,p:first-letter,是对p标签内文本的第一个字符进行操作,它只是p标签的一部分,而不是一个实实在在的标签,因此,它也是一个伪元素。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值