html知识点之利用css四边形切角并且加上边框

html知识点之利用css四边形切角并且加上边框

前言

这几个月做了很多前端工作,其中一个需求还是蛮头疼,UI给的图上面的四边形是一个带斜边的,直接用背景图可以实现,但是会出现各种布局的问题,比如内容太大了,边框不会跟着扩大,废话不多说,这里写一些如何利用css话四边形带有斜边,并且给斜边加边框,在这之前,先简单说一下需要用到的函数

linear-gradient()函数

#grad {

background-image: linear-gradient(red, yellow, blue);

}

看上面的代码是从头部开始的线性渐变,从红色开始,转为黄色,再到蓝色。

这里大概就知道了linear-gradient是用来画渐变用的。并且可以指定颜色以及方向。

clip-path函数

这个函数我也不是很懂,大概就是裁剪路径,配合函数后面的做标参数,对四边形进行裁剪,这里是配合polygon使用。

实现代码

clip-path: polygon(0 0, calc(100% - 15px) 0,100% 15px, 100% calc(100% - 0px),

calc(100% - 0px) 100%, 0px 100%,0 calc(100% - 0px),0 0px);

background:linear-gradient(-45deg,#4C829A 0px, rgba(216,236,255,0.05) 0) bottom right,

linear-gradient(45deg,#4C829A 0px, rgba(216,236,255,0.05) 0) bottom left,

linear-gradient(135deg,#4C829A 0px, rgba(216,236,255,0.05) 0) top left,

linear-gradient(-135deg,#4C829A 10px,rgba(216,236,255,0.05) 0) top right;

background-repeat: no-repeat;

border: solid 1px #4C829A;

面这个样式就可以实现了,这是我实现的效果。

注意,我不光实现了切角,还实现了,切角以后,边框也贴着斜边。

代码解释

background:linear-gradient(-45deg,#4C829A 0px, rgba(216,236,255,0.05) 0) bottom right,

linear-gradient(45deg,#4C829A 0px, rgba(216,236,255,0.05) 0) bottom left,

linear-gradient(135deg,#4C829A 0px, rgba(216,236,255,0.05) 0) top left,

linear-gradient(-135deg,#4C829A 10px,rgba(216,236,255,0.05) 0) top right;

先解释这个代码。 linear-gradient最后面的是方向,这里有四个方向。不细说了、

其中第一个参数135deg就是角度,比如 top right;即上到右,切-135度,

第二个参数是4C829A 是边框的边框的颜色,

第三个参数0px,是你要切多高。这个地方经过演算,是这里的值,看图。

虚线部分即为你设置的值,这个值是以顶点为起点,45度角延长,

第四个参数,rgba(216,236,255,0.05) 前面三个是是四边形的填充颜色,最后一个0.05是填充颜色的透明度,这里也可以设置background-size: 50% 50%;意思即为将四边形平均分为四分,每一份的颜色可以单独设置,这里不做深究,这里我也没用到

第五个参数0表示渐变渲染颜色,这里写0,表示不让他渐变渲染,如果需要渐变渲染颜色,并且四边形需要不同的颜色,就可以用到上面的background-size属性。

第六个属性 top right表示方向。代表你要从哪里往哪里切

上面说了第一个要点,能够实现四边形切边,但是边框还是四边,没有切边。

clip-path: polygon(0 0, calc(100% - 15px) 0,100% 15px, 100% calc(100% - 0px),

calc(100% - 0px) 100%, 0px 100%,0 calc(100% - 0px),0 0px);

这段代码,可以通过裁剪的方式,实现边框也跟着切边。

经过反复实验,发现 polygon(0 0, calc(100% - 15px) 0,100% 15px, 100% calc(100% - 0px),

calc(100% - 0px) 100%, 0px 100%,0 calc(100% - 0px),0 0px);中的八个点,按照顺序,分别是图中的1-8,好像没什么规律,这里可能会有问题,具体大家可自行演算。可以看到,我切的斜边是右上角,就是切2号点和3号点。2号点的坐标本来是100%和0,其控制的是上面那条边的右边坐标点,这里减去15px,就是切割后的坐标点,3号点位同理,纵坐标切15px,然后可以大概算出沿着直角三角形做垂直线,大概可以算出其距离时10.6px。也就是 linear-gradient(-135deg,#4C829A 10px,rgba(216,236,255,0.05) 0) top right;这里设置的10px(大致结果),下面这张图,可以帮助大家理解怎么算的。

当然,你也可以先设置你要切多少个px,然后算出坐标值是多少。但是这个算出来的结果,可能跟实际效果还是有所出入,具体还需要自己在计算值得上下进行调整

html知识点之利用css四边形切角并且加上边框相关教程

html四边形的的框怎么编写,html知识点之利用css四边形切角并且加上边框相关推荐

  1. html中切角文本框,css实现切角效果

    1. 一个切角 思路:如果我们要得到有一个切角的元素,我们只需要使用一个径向渐变就可以达到这个目标,这个渐变需要把一个透明色标放在切角处,然后再相同的位置设置另一个色标,并且把它的颜色设置成我们想要的 ...

  2. html中切角文本框,HTML/CSS实现切角矩形效果

    非纯色背景下切角矩形的效果图如下: HTML: CSS: .top-box { position: relative; display: block; width: 90%; min-height: ...

  3. css3切角文本框_[CSS揭秘]切角效果

    将角切掉也是一种流行的设计风格 传统解决方案可能是使用三角形或者其他形状的图片来盖住边角从而模拟切角效果 有了CSS3,我们完全可以使用新技术来实现 第一种方案: CSS渐变 需求一: 一个矩形需要切 ...

  4. 编写程序,输入一个N,返回角谷变换(达到1所需)的次数

    import java.util.Scanner;/*** @author:(LiberHome)* @date:Created in 2019/3/6 17:36* @description:* @ ...

  5. 利用css特性布局页面制作京东特价框

    布局技巧:利用css特性去制作京东价格图框: 类似步骤: 1.首先制作一个四边形的样式,对高度和宽度进行设置,两者设置为0px 2.原来制作一个四边形里面的一个三角形部分采取的是对颜色设置transp ...

  6. 【指针编程】 编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标。)插入字符串。插入的位置和内容是从键盘输入

    [问题描述] 编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标)插入字符串.插入的位置和内容是从键盘输入 要求:子函数 void InsertStr(char ...

  7. Vue组件编写之Alert提示框组件编写

    Alert提示框的vue组件编写 最近一直学习vue,跟着视频敲代码,敲了两三个组件后,终于对编写组件有一个大致的思路了,以下通过编写一个alert提示框组件大致梳理一下我编写组件的思路. 主要分为三 ...

  8. qt 将int型数据显示在文本框_Qt编写Online judge爬虫

    一.前提 刚开始接触C++/Qt是需要一个项目练练手,当时听说过OJ并且网络不好,就想着把数据获取下来随时使用. 后来代码写多了之后听说Python写爬虫更方便,可惜坑已经跳下去了,就一条路走到黑了. ...

  9. html复选框全选按钮代码,全选复选框JavaScript编写小结(附代码)

    var oChkAll = document.getElementById("checkAll"); //全选 oChkAll.onclick = function() { for ...

最新文章

  1. Python学习day5作业
  2. 【正一专栏】评深圳西乡砍人案——不要无辜的底层伤害
  3. Java-Web JSP指令、javabean和EL表达式
  4. SharePoint 搜索功能失效
  5. Sql Server中查看/修改identity(自增列)的值
  6. css网格_CSS网格初学者指南
  7. [导入]在vs2005中调用远程WebService(幻想曲)
  8. JavaScript cookie js cookie设置
  9. 嵌入式设备引入机器学习:有eIQ就够了!
  10. 如何制作一个vagrant的base box 及安装 additions
  11. 计算机有关书籍读书心得,关于计算机学习心得体会5篇.doc
  12. 融云 x OHLA:「社交+游戏」双轮驱动,逐鹿中东陌生人社交
  13. unl导入导出数据库
  14. ubuntu16.04 caffe /usr/bin/ld : cannot find -lxxx (xxx代表不同的库名称)
  15. 让Fedora 19支持ThinkPad鼠标中键和小红点实现滚轮效果
  16. Rails出现ROLLBACK TO SAVEPOINT active_record_1信息的解决
  17. python根据文本生成词云图
  18. 如何阅读linux软件程序代码,如何阅读linux源代码
  19. gepc 骨架图算法Graph Embedded Pose Clustering
  20. 区块链不是唯一的依靠点,网贷平台将如何自我革新?

热门文章

  1. python装饰器由浅入深_由浅入深理解Python装饰器
  2. input和output哪个是充电_input是什么接口?告诉大家这个小常识,以后音箱接线更容易...
  3. 在c#中用mutex类实现线程的互斥_面试官经常问的synchronized实现原理和锁升级过程,你真的了解吗...
  4. Codeforces Round #701 (Div. 2)赛后补题报告(A~D)
  5. java从1开始计时用线程_java – Python – 线程,计时或函数使用?
  6. mysql delette_关于字符串:首字母大写MySQL
  7. python的序列类型及其特点_Fluent Python 笔记——序列类型及其丰富的操作
  8. 拦截游戏窗口被移动_Ruined King官网版-拳头rpg Ruined King游戏最新版下载v1.0
  9. 阿里P8架构师谈:开源搜索引擎Lucene、Solr、Sphinx等优劣势比较
  10. 论文浅尝 - ICML2020 | 通过关系图上的贝叶斯元学习进行少样本关系提取