利用CSS三角形实现的冒泡框

摘要:
请使用CSS实现下图所示的样式,相关维度如图所示。dom结构为:这是去年百度的一道笔试题。它包括定位、三角形和伪元素。这是我的答案和一些知识总结,都在节目中。DOCTYPEhtml˃文档#demo{width:100px;height:100px,背景色:#fff;border:2pxsolid#000;位置:相对;}#demo:之前,#demo:之后{width:0;height:0;content:“”;位置:绝对;边框:solidtransparent;左:100%;}#演示:前{/*左边框:12pxsolid#000;*/边框宽度:12px;左边框颜色:#000;顶部:20px;}#演示:在{/*左边框:10px实心#fff;*/边框宽度:10px;左边框颜色:#fff,顶部:22px;}/*之后三角形*/#sanjiao{宽度:0;高度:0;边框:50pxsolidtransparent;边框左侧颜色:红色;}伪元素选择器::第一行,:第一个字母:before,:after。
请用CSS实现如下图的样式,相关尺寸如图示,其中dom结构为:
<div id=”demo”></div>
利用CSS三角形实现的冒泡框第1张
这是一道去年的百度笔试题。
涉及定位、三角形、伪元素。
下面是我的解答以及一些知识概述,都在程序里了。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        #demo{
            width: 100px;
            height: 100px;
            background-color: #fff;
            border: 2px solid #000;
            position: relative;
        }
        #demo:before, #demo:after{
            width: 0;
            height: 0;
            content: "";
            position: absolute;
            border: solid transparent;
            left: 100%;
        }
        #demo:before{
            /*border-left: 12px solid #000;*/
            border-width: 12px;
            border-left-color: #000;
            top: 20px;
        }
        #demo:after{
            /*border-left: 10px solid #fff;*/
            border-width: 10px;
            border-left-color: #fff;
            top: 22px;
        }

        /*三角形*/
        #sanjiao{
            width: 0;
            height: 0;
            border: 50px solid transparent;
            border-left-color: red;
        }
    </style>
</head>
<body>
    <div id="demo"></div>
    <p>伪元素选择器: :first-line, :first-letter :before, :after。<br/>
        :before表示在元素之前添加一个元素,:after表示在元素之后添加一个元素。<br/><br/>
        CSS中绘制三角形:容器宽高设为0,然后三角形的高就是border-width, 所以让border: 50px solid transparent,再把想要的三角对应的方向设成想要的颜色就好了,如border-left-color: red。
    </p>
    <div id="sanjiao"></div>
</body>
</html>

免责声明:文章转载自《利用CSS三角形实现的冒泡框》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt设置窗体背景渐变Spring:No bean named 'beanScope' is defined下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

react中css里面 class中的 图片的相对地址 完美解决 backgroundImage

发现问题:缓存 之前react的图片,也在style里面,也无所谓。 刚做了一个输入框,change的时候改变图片,每次都刷新图片,关键是没缓存,这哪受得了 之前用的: 网上搜索各种插件,替换什么的,都不好使。 最后的解决方案: 将css文件,放到 public下,然后就变成公共资源,也不参与打包,也就不会报错了。 将index.html中加入 <...

css 控制文字超出时显示省略号

不多说,直接看代码吧: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>内容超出显示省略号</title> <style> .limitWord{ width:200px;...

前端全链路优化总结

减少http请求 http请求每次都需要建立通信链路,进行数据传输,在服务端每个http都需要启动独立的线程去处理,这些开销很昂贵,减少请求的数量可有效的提高访问性能。例如: 合并公用的小css/js块 雪碧图、字体图标、base64图标 使用http2.0及其以上版本 使用浏览器缓存 通过设置http头中的cache-control和expire...

自定义组件支持双向绑定的实现

  假设有这样一个单文件组件:CustomerInput.vue,其内容如下: <template> <div> <input v-bind:value="value" v-on:input=$emit('input', $event.target.value)""></input&...

css控制继承

inherit:继承父类。 initial:继承浏览器。 unset:重置为自然值,继承父类或者浏览器。 revert:恢复原来的值。 详解: CSS为处理继承提供了四种特殊的通用属性值: inherit: 该值将应用到选定元素的属性值设置为与其父元素一样。 initial :该值将应用到选定元素的属性值设置为与浏览器默认样式表中该元素设置的值一样。...

CSS基础深入之细说盒子模型

Html任何一个元素(element)都可以当成一个盒子(box)来看待,可以结合现实中的盒子来理解下文,下文其中一些单词应该是通俗易懂的需要记录的单词。 基本情况 每一个盒子都有一个内容区域(content area),例如盒子里的一堆文字或者一张图片的边界,其周围是具有一定宽度的padding area,border area,和margin area...