美文网首页
CSS 形状入门(一)

CSS 形状入门(一)

作者: joexzn | 来源:发表于2016-11-25 18:51 被阅读0次

第一次看到 CSS 形状是在 N 年前的谷歌首页顶部产品导航栏里面有一个向下的三角图标,一开始以为是一个小的图片,后来一想按照谷歌的作风页面肯定是越简洁越好,在首页只可能放一个 logo 图片不可能为了那么一个小小的图标再多添加一张,然后我就查看了那个部分的源码,果然是用纯 CSS 写的:

width: 0px;
height: 0px;
border-top: 3px solid #c0c0c0;
border-left: 3px solid transparent;
border-right: 3px solid transparent;

在 width 和 height 都为 0px 的情况下为什么仅用 border 就能实现一个三角形状呢?如果我们把四个边框都设置成不同的颜色就能一目了然了:

width: 0px;
height: 0px;
border-top: 50px solid red;
border-left: 50px solid blue;
border-right: 50px solid yellow;
border-bottom: 50px solid green;

这时如果把左边框和右边框颜色都设为透明,下边框可以去掉,就变成了一个向下的红色箭头:

width: 0px;
height: 0px;
border-top: 50px solid red;
border-left: 50px solid transparent;
border-right: 50px solid transparent;

改变一下边框的宽度就能变成各种形状的三角形,比如等边三角形:

width: 0px;
height: 0px;
border-top: 86.6px solid red;
border-left: 50px solid transparent;
border-right: 50px solid transparent;

如果把左边框去掉会变成这个形状:

width: 0px;
height: 0px;
border-top: 50px solid red;
border-right: 50px solid transparent;

这些只是最基本的 CSS 形状,好处是兼容各种浏览器,但是不能实现更复杂的形状,如果要更复杂的形状就要用到 ::before 和 ::after 这样的伪元素,下次会详细讲述。

相关文章

  • CSS 形状入门(一)

    第一次看到 CSS 形状是在 N 年前的谷歌首页顶部产品导航栏里面有一个向下的三角图标,一开始以为是一个小的图片,...

  • CSS 形状入门(二)

    上次讲了一些基本的 CSS 形状,实际的网页当中当然不只是这些普通的三角形,还有很多复杂一点的图形,比如搜索框中的...

  • css形状

    css三角形估计大家都写过, 用border即可实现,不过五角星之类的形状估计大多人就直接用图片了吧,最近面试遇到...

  • #30天专注橙长计划#向前端工程师进发#day0#航线设计

    发现问题,路线大修。 学习方面:暂定按HTML入门→CSS入门→HTML进阶→CSS进阶→JavaScript入门...

  • 前端入门系列

    前端HTML & CSS 基础入门(1)初识 前端HTML & CSS 基础入门(2)段落及文本 前端HTML &...

  • 前端开发 之 CSS入门

    文章简要:CSS介绍DIV+CSS的优点CSS 语法CSS新建格式 CSS入门 CSS介绍 CSS(Cascadi...

  • CSS初探

    Head First HTML与CSS 第七章 CSS入门 CSS——掌控页面的表现 CSS结构简介 CSS包含一...

  • css仿聊天气泡样式

    css仿聊天气泡 *推荐大家一个css绘制形状的网站:https://css-tricks.com/the-sha...

  • CSS第一小节第一天

    CSS基础入门 什么是CSS? CSS 指层叠样式表 (Cascading Style Sheets) CSS通常...

  • mdui quickstart 快速入门

    实现入门效果 目录结构 代码 说明 这个框架依赖很少,入门实例 css 加入 mdui.css javascrip...

网友评论

      本文标题:CSS 形状入门(一)

      本文链接:https://www.haomeiwen.com/subject/nigbpttx.html