css 的规律摸索之路(一)css之三角形的规律及变化

css的变幻简直无穷无尽,css的探索持续近二十年,到现在基本算是功能丰富多彩,其没有逻辑性的编程思维,令我们抓耳挠腮,只有时间积累的经验与摸索,才能窥的它浅薄的面纱,如此才算是入门而已。有人问我:css和html到底是什么?算编程语言吗?我的回答是:是也不是,html可以被任何语言强奸然后生出来一个乖戾怪样的,比如jsp(java强奸了html),PHP+html等等等,css呢?就连居中这个常用的排版方式就有近10种写法,用于各种不同场景,对于后端想要涉及前端的人这是一道天堑,无法逾越。唯有时间的洗练,你才能瞬秒的运用自如,别无他法。

扯了些闲话,今天我们来看看,怎么运用css来写三角形,网上多是直接性的语法给你,你完全不懂内层含义,个人也是在请教了很多教程和大神,才终于明白如何运用。于是,献上干货。

竟然是边框???

对于css新手来说,你告诉他三角形的实现是用边框来做的,他会不敢相信自己眼睛,于是从源头说起。

一般情况下,我们经常给一些div设一些边框,比如:

border: 1px solid yellow;

就设定了,一个黄色的边框。

很多人用这一属性没有发现奥妙,直到有一天,有个人这样玩:

<div class="triangle_divhavsize"></div>
 <style>
  .triangle_divhavsize {
   width: 100px; height: 100px; background: #333;
   border-top: 40px solid bisque;
   border-bottom: 40px solid cadetblue;
   border-left: 40px solid magenta;
   border-right: 40px solid aquamarine;
  }
 </style>

效果如图:

你是不是忽然发现了什么?不过不明显那么我们把div的宽和高变为0.

 <h3>三角形的规律:div无大小设置不同颜色的边框</h3>
<div class="triangle_divnosize"></div>
 <style>
  .triangle_divnosize {
   width: 0; height: 0;
   border-top: 40px solid bisque;
   border-bottom: 40px solid cadetblue;
   border-left: 40px solid magenta;
   border-right: 40px solid aquamarine;
  }
 </style>

效果如图:

这样小伙伴是不是就找出玄机了?默认的边框区域其实是对折分为四个区域,顺序为:上右下左。

那么我们把左右给隐藏显示上下:

<h3>三角形的规律:起始假象</h3>
 <div class="triangle_Illusion"></div>
 <style>
  .triangle_Illusion {
   width: 0; height: 0;
   border: 40px;
   border-color: red transparent; /*transparent-用来指定全透明色彩*/
   border-style: ridge; /*定义 3D 垄状边框。*/
  }
 </style>

效果如图:

这样我们通过定义 3D 垄状边框以及隐藏左右边框简单的实现了一个沙漏,丑是丑了点,但是没关系。我们再去掉下边框,看看效果:

<h3>三角形的规律:去掉下边框</h3>
 <div class="triangle_onbottom"></div>
 <style>
  .triangle_onbottom {
   width: 0; height: 0;
   border-width: 40px 40px 0 40px; /*上右下左*/
   border-color: red transparent;
   border-style: ridge; /*定义 3D 垄状边框。*/
  }
 </style>

效果如图:

我们再做个直角,但是这里做直角有两种方式,这里先说第一种:

<h3>三角形的规律:直角-把不需要的隐藏(方式一)</h3>
 <div class="triangle_rightangle1"></div>
 <style>
  .triangle_rightangle1 {
   width: 0; height: 0;
   border-width: 40px 40px 40px 40px; /*上右下左*/
   border-color: bisque cadetblue transparent transparent;
   border-style: solid;
  }
 </style>

效果如图:

这种方式是定义四个边框,然后显示其中两个,另外两个transparent。

再说第二种方法前,先做个示例,为了好理解第二种方式:

<h3>三角形的规律:直角-设置两个边框有值(以保留上右为例)</h3>
 <div class="triangle_rightangle_value"></div>
 <style>
  .triangle_rightangle_value {
   width: 0; height: 0;
   border-width: 40px 40px 0 0; /*上右下左*/
   border-color: bisque cadetblue magenta aquamarine;
   border-style: solid;
  }
 </style>

效果如图:

这里我们只定义了两个边框上和右,并且给下左定义了颜色,下左没有显示,并且它并没有变为三角形,而是变为了一个正方形,很奇幻吧!

不过这也引出了另外变为三角形的方式:

<h3>三角形的规律:直角-把不需要的隐藏(方式二)</h3>
 <div class="triangle_rightangle2"></div>
 <style>
  .triangle_rightangle2 {
   width: 0; height: 0;
   border-width: 40px 40px 0 0; /*上右下左*/
   border-color: bisque transparent transparent transparent;
   border-style: solid;
  }
 </style>

效果如图:

但是网上各种教授方法和写法并不是这样,而是这样:

<h3>三角形的规律:直角-把不需要的隐藏(方式二的变样)</h3>
 <div class="triangle_rightangle2"></div>
 <style>
  .triangle_rightangle2 {
   width: 0; height: 0;
   border-top: 36px solid bisque;
            border-right: 36px solid transparent;
  }
 </style>

效果如图:

小结

到此,css变幻三角形的多种写法就完成了,各位是不是到此就彻底明白了三角形怎么写?

提示:后面还有精彩敬请期待,请大家关注我的CSDN博文:侬姝沁儿,或者我的简书专题:web前端。如有意见可以进行评论,每一条评论我都会认真对待。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,287评论 25 707
  • “一杯不加糖的咖啡.......谢谢” 此时我找了个角落坐了下来。 今年,我大三了。 一副泼辣的性格谁知道我却喜欢...
    都喊我花阅读 302评论 0 0
  • 一片迷雾,水汽萦绕。 雾气中,一道窈窕的身影若隐若现,少女清泉般干净的笑声不时传来。 突然,一个修长挺拔...
    玊言阅读 333评论 0 1