如何用伪类画出一个三角形

刚刚做题遇到这样一道题

其中 第一个和第二个都比较简单。第三个要注意的是
第三幅图。主要运用的就是利用伪类。要形成上面这个图。我们只需要用到两个伪类元素:after和:before.利用第二个after:后面的内容 移动到前一个元素下面一点点。间隔间距大小根据div边框border大小而定。这里两个位置不重合的部分即为这个图像。。就和这一样。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" content="伪类写三角形">
    <title>Document</title>
    <style>
    div{
        width:200px;
        height:100px;
        position: relative;
        margin:50px auto;
        border:1px solid black;
    }
    div:before{
        content:"";
        border:10px solid transparent;
        border-bottom-color:black;
        position:absolute;
        left:20px;
        top:0;
        margin-top:-20px;

    }
    div:after{
        content:"";
        border:10px solid transparent;
        border-bottom-color:white;
        position: absolute;
        top:0;
        left:20px;
        margin-top:-19px;
    }

    </style>
</head>
<body>
    <div></div>
</body>
</html>

效果图如图所示

这相当于。第一个div:before 的border颜色设置为div框一样的颜色 即black;margin-top:-20px;

第二个div:after的border颜色设置为DIV的背景颜色(这里是白色)然后也向上平移margin-top:-19px.

这样就能遮住before的大部分内容。就留下1px的间隙,正好给形成上面这幅图。

时间: 2024-10-10 07:57:51

如何用伪类画出一个三角形的相关文章

画出一个三角形

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc; //设备环境句柄 PAINTSTRUCT ps; //存储绘图环境的相关信息 static HPEN hPen; //定义一个画笔句柄,定义为静态变量 switch (message) { case WM_CREATE: //创建宽度为2个像素的红色点线画笔,保存句柄到 hPen 变量 hPen = CreatePen

WPF Blend 脑洞大开的问题:如何用Blend得到或画出一个凹槽、曲面。

原文:WPF Blend 脑洞大开的问题:如何用Blend得到或画出一个凹槽.曲面. 目标图: 步骤一(放置一个矩形,填充蓝色): 步骤二(复制该矩形,并调整边角,填充粉红色): 第三部:让图形部分重合 第四部:蓝色图形将去粉红色图形,减去重叠部分 第五部:复制出另一个凹槽,等比放大,填充红色,让其与蓝色凹槽重合. 第六部:蓝色图形减去红色图形的重叠部分.制作完成. ? ? ? ? ? ? 原文地址:https://www.cnblogs.com/lonelyxmas/p/10768180.ht

亚马逊如何用19年拼出一个帝国

6月19日,亚马逊终于发布了众人翘首以盼的智能手机Fire Phone,为他的帝国增添了一块坚实的砖瓦.从1995年到2014年,亚马逊走过了19年.现在让我们来看看,这家开创电子商务的公司,其帝国都是如何构成的. <<<-------------  <_< 向左看 [基础设施]数字书店:亚马逊与图书出版商的缘分,从最初合作尝试,到相互抵制,再到和解,历经数年.亚马逊以设备+内容式的捆绑,赢得了用户,可谓是颠覆性创新,开辟了数字出版业的先河.数字阅读业务可谓亚马逊的根基,原本

如何在控制台下画出一个正线曲线

昨晚一个同学在网上找了一段傅里叶变换的代码,但是需要验证代码的正确性.于是就打算生成一个正弦波.他找到了我,代码本身是没有难度的,因为基本任何语言都有math库,库中肯定有三角函数.我当时想,能不能在Windows的控制台下画出一个正弦波.需要解决的问题只有一个,如何控制Console的光标位置.所幸的是,Windows提供了这样的API给我们使用.在windows.h的头文件中,有这样几个函数. HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle

Python3 Tkinter基础 Canvas bind 绑定左键 鼠标左键点击时,在当前位置画出一个椭圆形

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: from tkinter import * root=Tk() w=Canvas(root,width=200,height=200,background='white') w.pack() def paint(event): #event.x 鼠标左键的横坐标

关于伪类选择器中一个冒号和两个冒号的区别

在平时工作中用到伪类选择器的时候一个冒号和两个冒号貌似都是可以的,所以两者到底有什么区别呢,我们先来看下W3C关于CSS3选择器的规范中有一段描述: A pseudo-element is made of two colons (::) followed by the name of the pseudo-element. This :: notation is introduced by the current document in order to establish a discrimi

CSS伪类选择器的一个小知识点

li:first-child {color:red} li:nth-child(3n) {color: red} 在对nth-child传参的时候,已经直接用公式,3n就表示3的倍数.多用伪类和伪元素,可以使代码更精简,多看一下. display:table-cell实现垂直居中挺好用的,看别人的文章

Python中如何用turtle库画出小猪佩奇社会人

首先送上传送门: https://www.zhihu.com/question/275611095/answer/382959285 接下来贴代码 1 from turtle import * 2 3 def nose(x,y):#鼻子 4 penup()#提起笔 5 goto(x,y)#定位 6 pendown()#落笔,开始画 7 setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东.90-北.180-西.270-南) 8 begin_fill()#准备开始填充

OpenGL编程-第一个程序-画出一个正方形

程序如下 #include <GL/glut.h> // #pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" ) void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); //glClear,清除.GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西 g