CSS3的Flexbox骰子布局的实现及分析

这篇文章主要介绍了关于css3flexbox骰子布局的实现及分析,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

骰子布局顾名思义,就是好比骰子的一面最多可以放置9个点,而每个面放置的点数正好就是一个布局的模型图,这里我们就带来CSS3的Flexbox骰子布局的实现及问题讲解:

本文中只是熟悉基本属性的用法,并完成一组骰子各个面的制作。在下面的内容我不会涉及flexbox一些比较棘手的问题,比如旧版本语法、供应商前缀、浏览器怪癖等:

一、First Face
我们知道,骰子有六个面,每个面的点的个数代表该面的值,第一个面由一个水平垂直居中的点组成。下面来看具体的实现:

 
face-01 { display: flex; justify-content: center; align-items: center;

关于justify-content和align-items的用法请参考这里justify-content,align-items。使用flexbox,垂直居中两行属性就可以搞定,很easy!

立即学习“前端免费学习笔记(深入)”;

二、Second Face

.face-02 {    display: flex;    justify-content: space-between;   }   .face-02 .dot:nth-of-type(2) {    align-self: flex-end;   }     

这里我们不能使用align-items属性,使用它两个点都会受影响,flexbox提供了一个align-self属性,这个属性可以让我们更方便的控制flex items的各项沿着cross axias方向,设置不同的布局。align-self的用法参考这里align-self。

三、Third Face

.face-03 {    display: flex;    justify-content: space-between;   }   .face-03 .dot:nth-of-type(2) {    align-self: center;   }   .face-03 .dot:nth-of-type(3) {    align-self: flex-end;   }   

该face与second face 使用的属性相同,不再解释。

 四、Fourth Face

.face-04 {    display: flex;    justify-content: space-between;    flex-direction: column;   }   .face-04 .column {    display: flex;    justify-content: space-between;   }   

本例中使用了flex-direction,从字面意思可以看出,是用来控制flex的方向,即按列还是按行来布局,该属性更详细的用法可以参考这里flex-direction

后面Fifth Face 和 Sixth Face,根据前面的布局思想,就很easy了不再赘述!

写到此,想想配合JS写一个玩骰子的小游戏应该很easy了吧。

五、实现1,2,3,4,6,12等份

.row {     display: flex;     box-sizing: border-box;   }   .column {     margin: 10px;     flex-grow: 1;     flex-shrink: 1;     flex-basis: 0;     box-sizing: border-box;   }   

One

One Half

One Half

One Third

One Third

One Third

One Fourth

One Fourth

One Fourth

One Fourth

One Sixth

One Sixth

One Sixth

One Sixth

One Sixth

One Sixth

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

One Twelve

[object Object]

在本例中用到了flex-grow,flex-shrink,flex-basis三个属性。
1. flex-grow:根据需要用来定义伸缩项目的扩展能力。它接受一个不带单位的值做为一个比例。主要用来决定伸缩容器剩余空间按比例应扩展多少空间。
如果所有伸缩项目的“flex-grow”设置了“1”,那么每个伸缩项目将设置为一个大小相等的剩余空间。如果你给其中一个伸缩项目设置了“flex-grow”值为“2”,那么这个伸缩项目所占的剩余空间是其他伸缩项目所占剩余空间的两倍。负值无效。
2. flex-shrink:根据需要用来定义伸缩项目收缩的能力。负值同样无效。
3. flex-basis: 用来设置伸缩基准值,剩余的空间按比率进行伸缩,不支持负值。如果设置为0,围绕内容的额外的空间不会考虑在内。如果设置为auto,额外的空间是基于flex-grow的值分配。

六、实现2-3-7布局

.row237 .column:first-of-type {     flex-grow: 2;     flex-basis: 5px;   }   .row237 .column:nth-of-type(2) {     flex-grow: 3;     flex-basis: 18px;   }   .row237 .column:nth-of-type(3) {     flex-grow: 7;     flex-basis: 70.5px;   }   

One Half

One Third

One Seventh

此处各项flex-basis的值的计算,应该有个公式(待解决),如果有这个公式,配合sass,less等预处理语言实现多列自适应布局将会很方便。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何实现CSS控制DIV层显示和隐藏

用icon fonts来辅助CSS处理图片

关于css flex 的弹性布局

以上就是CSS3的Flexbox骰子布局的实现及分析的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:17:47
下一篇 2025年12月24日 01:17:56

相关推荐

  • CSS3的图层阴影和文字阴影的使用

    这篇文章主要介绍了关于css3的图层阴影和文字阴影的使用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 box-shadow图层阴影属性和text-shadow文字阴影属性在用法上差不多,都以X轴和Y轴坐标系来控制阴影扩展,这里我们就来详解CSS3的图层阴影和文字阴影效果使用: bo…

    2025年12月24日 好文分享
    000
  • 用CSS3实现图片翻转效果

    这篇文章主要介绍了css3制作翻转效果的方法,css3打造3d翻牌效果,适用于扑克翻牌等游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 CSS3制作的翻牌效果,就是鼠标移到元素上,感觉可以看到元素背后的信息。大家如果制作考验记忆力的连连看、扑克类的游戏神马的,甚至给女朋友写一些话语,放在使用…

    2025年12月24日 好文分享
    000
  • 使用纯CSS3截取字符串

    这次给大家带来使用纯CSS3截取字符串,的注意事项有哪些,下面就是实战案例,一起来看一下。 代码实例如下: CSS #first{ width:120px; height:30px; background-color:#F30; overflow:hidden; text-overflow:clip…

    好文分享 2025年12月24日
    000
  • CSS3 实现侧边栏展开收起动画

    这篇文章主要介绍了如何使用css3 实现侧边栏展开收起动画,并附上了示例代码,非常的详细,推荐给需要的小伙伴。 @keyframes 规则用于创建动画。 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果 @keyframes 中创建动画时,请把它捆绑到某个选…

    好文分享 2025年12月24日
    000
  • 在CSS3中常用的几种颜色渐变模式

    现在html5  css3已经越来越流行,用css3实现p渐变已经不是什么难事了,这篇文章给大家整理了现在常用的三种颜色渐变模式,包括线性渐变、径向渐变和重复的线性渐变,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴,下面来一起看看吧。 一、线性渐变:linear-gradient 语法:…

    2025年12月24日 好文分享
    000
  • 如何通过CSS3进行2D转换

    转换是使元素改变形状、尺寸和位置的一种效果,CSS3包括2D转化和3D转化,在这里我们只接受2D转化! 1、translate()方法      通过 translate() 方法,元素从其当前位置移动,根据给定的位置参数进行转化      代码实现:    实际效果: 2.rotate() 方法 …

    2025年12月24日 好文分享
    000
  • css3的transform中scale缩放的分析

    这篇文章主要介绍了css3的transform中scale缩放的使用方法,需要的朋友可以参考下 下面我们从3个方面开始介绍: 1、scale(x,y) 对元素进行缩放 X表示水平方向缩放的倍数 | Y表示垂直方向的缩放倍数Y是一个可选参数,没有设置的话,则表示X,Y两个方向的缩放倍数是一样的。并以X…

    好文分享 2025年12月24日
    000
  • 利用CSS3编写类似iOS中的复选框及带开关的按钮的代码

    这篇文章主要介绍了使用css3编写类似ios中的复选框及带开关的按钮,需要的朋友可以参考下 checkbox多选 最近写了一个适合移动端的checkbox,如图: ps:中间的勾勾是iconfont,iOS风格的。 具体的HTML: 立即学习“前端免费学习笔记(深入)”; 默认未选中 默认选中 橘黄…

    2025年12月24日
    000
  • 如何用css3绘制一个圆的loading转圈动画

    这篇文章主要介绍了css3如何绘制一个圆圆的loading圈的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。 如何绘制一个圆圆的loading圈 小程序里需要一个像下面的loading,原生的没有,引入别的组件库又太大,所有决定自己写个。 1.基本原理 动态的实现原理是给8个小圆圈设置透…

    2025年12月24日
    000
  • 关于CSS3中Animation动画属性的用法解析

    这篇文章主要为大家详细介绍了css3中animation动画属性用法,教大家如何使用animation动画,感兴趣的小伙伴们可以参考一下 要使用animation动画,先要熟悉一下keyframes,Keyframes的语法规则:命名是由”@keyframes”开头,后面紧接着是这个“动画的名称”加…

    2025年12月24日
    000
  • CSS3区域模块region的相关代码

    这篇文章主要介绍了css3区域模块region相关编写示例,对页面排版相关部分的工作非常有帮助意义,需要的朋友可以参考下 印刷媒体,例如一本杂志或一份报纸,相比网站最大的优势是完全灵活的安排页面和段落布局。例如,印刷媒体已经能够优雅地在多个列中填充内容,甚至复杂到如下面屏幕截图所示。 然而,由于We…

    2025年12月24日 好文分享
    000
  • 如何利用CSS3的线性渐变linear-gradient制作边框

    这篇文章主要介绍了关于如何利用css3的线性渐变linear-gradient制作边框,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 linear-gradient线条用来制作边框还是比较给力的,尤其是利用其描边可以制作一些复制的边框效果,这里我们就来看一下利用CSS3的线性渐变li…

    好文分享 2025年12月24日
    000
  • 用CSS3制作照片墙的特效

    这篇文章主要为大家详细介绍了css3制作漂亮的照片墙的具体步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享利用CSS3动画制作照片墙的详细步骤,供大家参考,具体内容如下 第一种实现效果: Html代码如下: 照片墙制作@@##@@@@##@@@@##@@@@##@@@@##…

    2025年12月24日
    000
  • 如何使用源生css3实现圆环加载进度条

    这次给大家带来如何使用源生css3实现圆环加载进度条,使用源生css3实现圆环加载进度条的注意事项有哪些,下面就是实战案例,一起来看一下。 效果图: 当时的要求是让进度条以扇形渐变的效果加载。我想了半天,好像只有用border-img来做渐变图了,还有一个超笨的方法就是写50个长方形分布在进度条上。…

    2025年12月24日
    000
  • CSS3制作圆角图片和椭圆形图片

    这篇文章主要教大家css3制作圆角图片和椭圆形图片的具体实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了CSS3制作圆角和椭圆形图片的方法,供大家参考,具体内容如下 1、圆角图片 XML/HTML Code复制内容到剪贴板 img { border-radius: 8…

    2025年12月24日
    000
  • 纯HTML5+CSS3制作图片旋转

    这篇文章主要介绍了纯html5+css3制作图片旋转,html5结合css3 实现的一些动画特效,实现起来比较容易,感兴趣的小伙伴们可以参考一下 此实例可以应用到许多项目中,很实用,希望大家可以掌握。 效果图如下: 这个效果实现起来其实并不困难,代码清单如下: XML/HTML Code复制内容到剪…

    2025年12月24日
    000
  • 如何利用CSS3截取字符串

    截取字符串一般是用js或者后台语言来实现,其实使用css也是可以实现此效果的。下面通过一段实例代码给大家介绍css3截取字符串的方法,需要的朋友参考下吧 截取字符串一般是用js或者后台语言来实现,其实使用CSS也是可以实现此效果的。 代码实例如下: CSS教程-本站 #first{ width:12…

    好文分享 2025年12月24日
    000
  • css3实现求婚小动画

    这篇文章主要介绍了关于css3实现求婚小动画,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 昨天在微信公众号中看到这一篇文章,瞬间觉得css太强大了,只要你想做,everything is possible! 首先放张效果图 然后一步步分析一下: 首先是刚出现的新郎的动画 .w-m …

    2025年12月24日
    000
  • CSS和CSS3实现画出三角形元素

    这篇文章主要介绍了关于CSS和CSS3实现画出三角形元素,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前端页面偶尔需要有三角形图标或者三角形样式,现在图标的三角形大多用字体图标去实现了,但是有些大的三角形模块还是需要前端运用css样式去画出来的,下面介绍各种角度的三角形css样式代…

    好文分享 2025年12月24日
    000
  • CSS3如何实现全景图

    本文主要和大家介绍了css3实现全景图特效示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 基本代码 html代码: 首先定义一些基本的样式和动画: .panorama { width: 300px; height: 300px; b…

    好文分享 2025年12月24日
    200

发表回复

登录后才能评论
关注微信