无际线复选框

2024-01-28 05:44
文章标签 复选框 无际

本文主要是介绍无际线复选框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果演示

24-无际线复选框.gif

实现了一个网格布局,其中每个网格是一个复选框,可以选择是否显示。每个复选框都有一个漂浮的天花板,表示它是一个房间的天花板。每个房间的天花板都有一个不同的形状和颜色,分别对应不同的房间。整个页面的背景是一个由两种颜色组成的渐变背景,其中一种颜色在页面顶部,另一种颜色在页面底部。整个页面的布局非常简洁,适合用于显示房间的天花板和选择是否显示。

Code

<form><fieldset class="roof left"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"></fieldset><fieldset class="roof" style="--windows:2;"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"></fieldset><fieldset class="roof center" style="--windows:2;gap:1vw;"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"></fieldset><fieldset class="roof" style="--windows:3;--gap:1.5vw;"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"></fieldset><fieldset class="roof antenna" style="--gap:.75vw;"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox" checked><input type="checkbox"><input type="checkbox"><input type="checkbox"><input type="checkbox" checked><input type="checkbox"></fieldset></form>
body {background: linear-gradient(200deg, hsl(190, 10%, 10%), hsl(220, 30%, 30%)) no-repeat;background-attachment: fixed;display: grid;height: 100%;margin: 0;padding: 0 1vw;
}fieldset {background: hsl(190, 10%, 10%);border: 0;display: grid;gap: var(--gap, 2vw);grid-template-columns: repeat(var(--windows, 4), 1fr);margin: 0;padding: var(--p, 3vw 2vw);position: relative;
}[type=checkbox] {all: unset;aspect-ratio: 1 / 1.25;background: hsl(190, 10%, 20%);transition: background .3s ease-in;width: 100%;&:checked {background: #ffffae;}
}form {align-items: end;align-self: end;display: grid;gap: 1vw;grid-auto-flow: column;max-height: 85vh;
}html {display: grid;min-height: 100vh;
}/* Roofs */
.antenna {--asr: 1 / 1;--clp: polygon(25% 100%, 25% 75%, 45% 75%, 45% 0, 55% 0%, 55% 75%, 75% 75%, 75% 100%);
}.center {--asr: 1 / .4;--clp: polygon(0 100%, 50% 0, 100% 100%);
}.left {--asr: 1 / .25;--clp: polygon(0 0, 100% 100%, 0 100%);
}.roof {&::before {aspect-ratio: var(--asr, 1 / .4);background-color: inherit;clip-path: var(--clp, polygon(0 100%, 100% 0, 100% 100%));content: "";position: absolute;bottom: calc(100% - 1px);width: 100%;}
}

实现思路拆分

body {background: linear-gradient(200deg, hsl(190, 10%, 10%), hsl(220, 30%, 30%)) no-repeat;background-attachment: fixed;display: grid;height: 100%;margin: 0;padding: 0 1vw;
}

这段代码定义了页面的样式。其中,background属性定义了页面的背景,使用了渐变背景,其中第一组颜色为hsl(190, 10%, 10%),第二组颜色为hsl(220, 30%, 30%),使用了linear-gradient函数。background-attachment属性设置为fixed,表示背景不会随着页面滚动而移动。display属性设置为grid,表示使用网格布局。height属性设置为100%,表示页面的高度为整个屏幕的高度。margin属性设置为0,表示页面没有外边距。padding属性设置为0 1vw,表示页面的内边距为左右各1vw。

fieldset {background: hsl(190, 10%, 10%);border: 0;display: grid;gap: var(--gap, 2vw);grid-template-columns: repeat(var(--windows, 4), 1fr);margin: 0;padding: var(--p, 3vw 2vw);position: relative;
}

这段代码定义了复选框的样式。其中,background属性定义了复选框的背景,使用了hsl(190, 10%, 10%)border属性设置为0,表示复选框没有边框。display属性设置为grid,表示使用网格布局。gap属性设置为var(--gap, 2vw),表示网格之间的间距,如果没有设置--gap变量,则默认为2vw。grid-template-columns属性设置为repeat(var(--windows, 4), 1fr),表示网格的列数,如果没有设置--windows变量,则默认为4列。margin属性设置为0,表示复选框没有外边距。padding属性设置为var(--p, 3vw 2vw),表示复选框的内边距,如果没有设置--p变量,则默认为3vw 2vw。position属性设置为relative,表示复选框的定位方式为相对定位。

[type=checkbox] {all: unset;aspect-ratio: 1 / 1.25;background: hsl(190, 10%, 20%);transition: background.3s ease-in;width: 100%;&:checked {background: #ffffae;}
}

这段代码定义了复选框的样式。其中,all: unset;表示清除所有默认样式。aspect-ratio属性设置为1 / 1.25,表示复选框的宽高比为1:1.25。background属性定义了复选框的背景,使用了hsl(190, 10%, 20%)transition属性定义了复选框的过渡效果,表示背景颜色的变化效果需要300毫秒,使用了ease-in函数。width属性设置为100%,表示复选框的宽度为100%。:checked伪类表示复选框被选中时的样式,其中background属性定义了复选框被选中的背景颜色,使用了#ffffae

form {align-items: end;align-self: end;display: grid;gap: 1vw;grid-auto-flow: column;max-height: 85vh;
}

这段代码定义了复选框的样式。其中,align-items: end;表示表单元素在交叉轴上对齐方式为右对齐。align-self: end;表示表单元素在交叉轴上对齐方式为右对齐。display属性设置为`grid

html {display: grid;min-height: 100vh;
}

这段代码定义了整个页面的样式。其中,display属性设置为grid,表示使用网格布局。min-height属性设置为100vh,表示页面的最小高度为整个屏幕的高度。

.antenna {--asr: 1 / 1;--clp: polygon(25% 100%, 25% 75%, 45% 75%, 45% 0, 55% 0%, 55% 75%, 75% 75%, 75% 100%);
}.center {--asr: 1 /.4;--clp: polygon(0 100%, 50% 0, 100% 100%);
}.left {--asr: 1 /.25;--clp: polygon(0 0, 100% 100%, 0 100%);
}.roof {&::before {aspect-ratio: var(--asr, 1 /.4);background-color: inherit;clip-path: var(--clp, polygon(0 100%, 100% 0, 100% 100%));content: "";position: absolute;bottom: calc(100% - 1px);width: 100%;}
}

这段代码定义了房间的天花板的样式。其中,.antenna类定义了天花板的样式,其中--asr变量定义了天花板的宽高比,--clp变量定义了天花板的形状。.center类定义了中央天花板的样式,其中--asr变量定义了天花板的宽高比,--clp变量定义了天花板的形状。.left类定义了左侧天花板的样式,其中--asr变量定义了天花板的宽高比,--clp变量定义了天花板的形状。.roof类定义了房屋的屋顶的样式,其中::before伪元素定义了房屋的屋顶的背景,其中aspect-ratio属性定义了背景的宽高比,background-color属性定义了背景的颜色,clip-path属性定义了背景的形状,content属性定义了伪元素的内容,position属性定义了伪元素的定位方式,bottom属性定义了伪元素距离底部的距离,width属性定义了伪元素的宽度。

这篇关于无际线复选框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652628

相关文章

listview与复选框的合并使用

在使用listview的过程中,我们常常需要使用复选框,实现一些批处理功能。这时候我们需使用自定义的adapter,实现相关复选框的事件响应。      首先在adapter定义一个哈希表,用于存放复选框的选中情况:      如private static HashMap<String,Boolean> isSelected,private static HashMap<Inter

Vue学习:v-model绑定文本框、单选按钮、下拉菜单、复选框等

v-model指令可以在组件上使用以实现双向绑定,之前学习过v-model绑定文本框和下拉菜单,今天把表单的几个控件单选按钮radio、复选框checkbox、多行文本框textarea都试着绑定了一下。 一、单行文本框和多行文本框 <p>1.单行文本框</p>用户名:<input type="text" v-model="inputMessage"><p>您的用户名是:{{inputMe

LVGL 控件之复选框(lv_checkbox)和下拉列表(lv_dropdown)

目录 一、复选框1、组成2、设置复选框文本3、复选框部件的状态4、复选框事件5、API 函数 二、下拉列表1、组成2、选项2.1 添加选项2.2 获取当前选中的选项 3、设置3.1 设置列表展开方向3.2 设置下拉列表图标3.3 设置列表常显文本 4、事件5、API 函数 一、复选框 1、组成 复选框部件由两个部分组成:主体和勾选框,示意图如下: LV_PART_M

jQuery 单选框/复选框美化

对于前端萌新来说,美化表单是个痛苦的事情,通常都是去寻找插件这种逃避的办法,其实这并不是难事。在上篇文章中提到了兄弟元素选择器在表单美化中表现突出,下面的示例源码将体现 基础篇知识的实际应用。 纯CSS版:http://www.jq22.com/webqd5106 上效果图: 源码如下: <!--author:helangEmail:helang.love@qq.com--><!D

uni-app 自定义复选框/单选框

插件地址:https://ext.dcloud.net.cn/plugin?id=717 预览效果: 作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com 公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。 更多精彩文章,请扫下方二维码关注我的公众号

selenium 自动化之二(1)----元素定位特殊操作复选框

针对一些相对单存定位的元素,会有个别的元素定位情况及一些元素的相关操作 checkbox的元素定位及选项,该元素属于单选或者复选等场景,那我们就需要全选或者单选或者多选 #通过xpath及css 方式定位法先找出元素checkboxs=driver.find_elements_by_xpath("//input[@type='checkbox']")checkboxs=dri

elementUI——checkbox复选框监听不到change事件,通过watch监听来解决——基础积累

今天在写后台管理系统的时候,遇到一个需求,就是要求监听复选框的change事件,场景就是:两个复选框互斥,且可以取消勾选。 就是这两个复选框可以同时都不勾选,如果勾选的话,另一个一定要取消勾选。 通过checkbox组件的change事件,是无法触发的。 可以通过watch来监听解决此问题。 比如上面的两个复选框值分别是:checked和cateChecked,可以通过监听每个值得变化

8、单选按钮(JRadioButton)和复选框(JCheckBox)

8、单选按钮(JRadioButton)和复选框(JCheckBox)         实现一个单选按钮(或复选框),此按钮项可被选择或取消选择,并显示其状态。JRadioButton对象与ButtonGroup对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。单选按钮的构造方法有如下所示几点: 1) JRadioButton()         创建一个初始化为选择的单选按钮,其

7、java swing 添加 jcheckbox复选框

总体上而言,Java Swing编程有两大特点:麻烦、效果差。        麻烦是说由于设计器的使用不方便(如果您希望使用窗体设计器通过快速拖拽控件建立您的Java Swing GUI程序,请您使用MyEclipse 8.5以上版本,并且需要最高使用权限),所有代码都得手写,如果没有好的编码规范和注释习惯。自己都会被代码淹没。效果差是指运行时的界面。具体的您可以自己尝试发现。 通过一段代码来

EasyUI DataGrid 复选框

来源:http://www.glphp.com/index.php?m=content&c=index&a=show&catid=36&id=331 如何放置checkbox列。使用checkbox,用户可以选定/取消数据行。 <table id="tt"></table>$('#tt').datagrid({title:'Checkbox Select',iconCls:'ic