利用CSS3可以不依赖图片资源就能制作出各式各样的形状、图形和动画。

平行四边形也是一种常常出现在网页上的表现形式,使用CSS3可以制作出各种平行四边形,平行四边形的文本、图片甚至是动画。

CSS3如何制作平行四边形?

使用CSS3 transform的skew属性可以将一个矩形变为非90度直角的平行四边形。

如下代码所示,是一个简单的平行四边形,使用skew属性为这个平行四边形向左倾斜30度。

注意,transform的变形是默认已元素的中心位置来进行,倾斜、旋转等变形的。

设置transform-origin能改变形的基准点,下例是将左上角设为基准点,否则会由于从中心点倾斜导致平行四边形向左偏移。

.parallelogram-simple{

width: 200px;

height: 100px;

transform-origin: 0 0;

transform: skew(30deg);

background: rgb(0,192,165);

}

CSS3制作包含图片和文字的的平行四边形

如下图,是一个包含有文字和图片的平行四边形,上半部分是图片,下半部分是文字描述。

在发生transform的skew变形后,里面的图片和文字也会发生相同的倾斜角度,

在此基础上再将平行四边形里面的图片和文字向相反的方向倾斜相同的角度,就可使他们恢复在正常显示的效果。

通过设置平行四边形的overflow值为overflow,可以使图片只显示平行四边形里面的内容,从而达到显示出平行四边形图片的效果。

scss代码如下:

.parallelogram-more{

width: 120px;

height: 200px;

transform-origin: 0 0;

transform: skew(30deg);

background: #00c0a5;

position: relative;

overflow: hidden;

&>*{

transform-origin: 0 0;

transform: skew(-30deg);

position: relative;

}

p{

width: 80px;

left: 30px;

}

}

a parallelogram

CSS3制作平行四边形风格的翻页

翻页是网站中常见的功能模块,翻页的样式也多种多样,使用平行四边形能创建别具一格的翻页样式,如下图。

使用平行四边形结合三角形就行达到如上图的效果。

中间部分的div是平行四边形,最前面和最后面一个都是用普通的div结合css三角形构造成的直角梯形。

我有篇博客详细讲解了有关css制作三角形的原理和应用。

原理基本与上面的两个例子相同,就不再赘述,代码如下:

1

2

3

4

5

next

···

last

.parallelogram-page{

&::after{

display: block;

content: '';

clear: both;

}

a{

display: block;

float: left;

height: 20px;

margin-right: 10px;

text-decoration: none;

background: #00c0a5;

&.active, &:hover{

color: #fff;

}

}

div{

float: left;

}

.middle-page{

width: 40px;

transform-origin: 0 0;

transform: skew(30deg);

position: relative;

span{

display: block;

transform-origin: 0 0;

transform: skew(-30deg);

position: relative;

left: 22px;

}

}

.first-page{

width: 30px;

position: relative;

margin-right: 12px;

span{

display: block;

text-align: center;

}

&::after{

display: inline-block;

content: '';

position: absolute;

top: 0;

right: -12px;

border-top: 10px solid transparent;

border-right: 6px solid transparent;

border-bottom: 10px solid #00c0a5;

border-left: 6px solid #00c0a5;

}

}

.next-page{

width: 40px;

position: relative;

margin-left: 12px;

&::before{

display: inline-block;

content: '';

position: absolute;

top: 0;

left: -12px;

border-top: 10px solid #00c0a5;

border-right: 6px solid #00c0a5;

border-bottom: 10px solid transparent;

border-left: 6px solid transparent;

}

span{

display: block;

text-align: center;

}

}

.last-page{

width: 40px;

span{

display: block;

text-align: center;

}

}

}

完整源代码请查看我的github的blogDemo项目

css 平行四边形 梯形 组合_css3实现平行四边形框效果相关推荐

  1. css 平行四边形 梯形 组合_微课|人教版五年级数学上册6.4组合图形的面积(P99)...

    |点击题目下方蓝字一键关注 小学生知识库| 视频微课 在公众号菜单"爱学小学",打开小程序 "爱学中小学",免费观看人教版数学教学视频. 您也可以在这里搜一搜, ...

  2. html border阴影效果_【开发小技巧】—如何使用HTML和CSS创建浮动框效果?

    来源 | https://www.geeksforgeeks.org/how-to-create-floating-box-effect-using-html-and-css/?ref=rp 浮动框效 ...

  3. css搜索的文本框,一个很不错的CSS改写的大表单文本框和搜索按钮组

    <一个很不错的CSS改写的大表单文本框和搜索按钮组>要点: 本文介绍了一个很不错的CSS改写的大表单文本框和搜索按钮组,希望对您有用.如果有疑问,可以联系我们. 先看效果图: 开始爬取 C ...

  4. html设置复选框图片,css实现图片右上角添加复选框的方法

    css实现图片右上角添加复选框的方法 发布时间:2020-06-15 10:59:23 来源:亿速云 阅读:221 作者:Leah 这篇文章给大家分享的是css实现图片右上角添加复选框的方法,相信大部 ...

  5. [css] css怎么更改表单的单选框或下拉框的默认样式?

    [css] css怎么更改表单的单选框或下拉框的默认样式? 下拉框select可以通过appearance:none去除默认样式,然后进行自定义,但是option标签不能通过CSS自定义,所以最佳方案 ...

  6. html css好看的提示框,div对话框,js+div+css实现好看的提示框效果(转)

    div对话框,js+div+css实现好看的提示框效果(转) (2012-02-18 20:46:23) 标签: html div css 杂谈 提示窗都越来越人性化了,呵呵,有的时候老板就和你要那么 ...

  7. 试用php语言写气泡,如何用纯CSS实现语音聊天气泡框效果

    本篇文章主要给大家介绍怎么用纯css实现语音聊天气泡框效果. 推荐参考教程:<CSS教程> 语音聊天气泡框效果,在我们日常生活中或者社交网站上,都是非常常见且流行的一种对话框效果. 比如微 ...

  8. html css画五角星,css画梯形,css画五角星, css画六角星 ,css画六边形

    css画梯形,css画五角星, css画六角星 ,css画六边形 css画梯形 .triangle { border-bottom: 100px solid #F36823; border-left: ...

  9. html和css画梯形背景,CSS-实战-梯形背景导航

    1.实现效果 梯形背景图导航,如下图.由于导航条文字多少不固定,因此面临的挑战是,当文字内容增加时,中间的背景宽度自动拉伸.CSS3的出现实现这样的效果相对变的容易,本文使用背景图定位的知识,加上CS ...

  10. 梯形面积php,CSS实现梯形标签页

    在web设计中,梯形标签页是很常见的一种形式,但是梯形又是一种很难实现的样式,下面小编给大家分享使用CSS实现梯形标签页的代码,需要的朋友参考下吧 在web设计中,梯形标签页是很常见的一种形式,但是梯 ...

最新文章

  1. irrlicht1.3中文支持
  2. 浅谈尾递归的优化方式
  3. 今日arXiv精选 | TNNLS/ICCV/TIP/ACM MM/CIKM/WWW/ICME
  4. 5-3 神经网络算法预测销量高低(改进版,消除了一些warning)
  5. 阿里Druid连接池监控的两个坑
  6. 在读博士练成健身达人,女大学生在宿舍练出八块腹肌……
  7. 给公司部门设计的SOA架构
  8. 10分钟 MySQL 入门教程
  9. python︱批量操作文件(os)、图片操作技巧(下载网络图片、skimage.io)
  10. 计算机考试vb试题英语成绩,计算机二级考试vb试题_vb试题及参考答案
  11. j2ee与java区别_j2ee和java的区别是什么?
  12. 2016年4月计算机组成原理试题答案,2018年04月自学考试02318《计算机组成原理》真题及答案...
  13. 来自一个大牛对ACM的总结
  14. 拦截一切的CoordinatorLayout Behavior
  15. 随笔记:实现HTML页面局部滚动及自定义滚动条样式
  16. Flink Checkpoint超时问题
  17. Linux 重新加载 nginx 配置命令
  18. 基因家族特征分析 - 染色体定位分析
  19. MySql查询当前版本
  20. java判断小数位数_java如何获取一个double的小数位数

热门文章

  1. 20190323——Python IO编程
  2. dpi,分辨率,屏幕尺寸,dp,px,dip
  3. iOS耳机红外线遥控器
  4. 支付宝基金自选管理系统Springboot + Vue 实现
  5. c语言汇率转换代码_拜求c语言编写的人民币大小写转换的代码!
  6. FastText学习笔记
  7. [转载]如何为Foxmail设置gmail客户端
  8. 加拿大麦吉尔大学计算机科学学院,加拿大麦吉尔大学专业:加拿大麦吉尔大学的院校介绍以及专业设置...
  9. 在二叉树中查找两个节点的最近的公共祖先节点(无回溯指针)(NCA--nearest common ancestor)
  10. 使用CLion开发STM32时无法生成hex文件的解决办法