@form-create/vant
Version:
VantUI版本低代码表单|FormCreate 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的低代码表单生成组件。支持6个UI框架,适配移动端,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。
173 lines (146 loc) • 3.58 kB
CSS
.form-create-m {
width: 100%;
}
.form-create-m.is-preview .fc-clock, .form-create-m .fc-none {
display: none ;
}
.form-create-m .van-field:has(.van-field__value > .van-field__body > .van-field__control>.van-field):after {
display: none;
}
.form-create-m .van-field > .van-field__value > .van-field__body > .van-field__control > .van-field:after,.form-create-m .van-field > .van-field__value > .van-field__body > .van-field__control > * > .van-field:after {
display: block;
right: 0;
left: 0;
}
.form-create-m .fc-form-item > .van-field__value > .van-field__body > .van-field__control > .van-cell {
padding: 0;
}
.form-create-m .fc-form-item .fc-form-item {
padding-left: 0;
padding-right: 0;
--van-padding-md: 0;
}
.form-create-m > .van-row > .van-col--24:last-of-type > .van-cell:last-of-type:after {
display: none;
}
.form-create-m .fc-reset-btn {
margin-top: 12px;
}
.form-create-m .fc-form-title {
display: inline-flex;
align-items: center;
}
.form-create-m.is-preview .van-field__label--required:before {
display: none;
}
._fc-m-group{
display: flex;
align-items: flex-end;
min-height: 38px;
justify-content: center;
flex-direction: column;
width: 100%;
}
._fc-m-group-disabled ._fc-m-group-btn, ._fc-m-group-disabled ._fc-m-group-add{
cursor: not-allowed;
}
._fc-m-group-handle {
display: flex;
flex-direction: row;
position: absolute;
bottom: -15px;
right: 30px;
border-radius: 15px;
border: 1px dashed #d9d9d9;
padding: 3px 8px;
background-color: #ffffff;
transform: scale(1.1);
}
._fc-m-group-btn{
cursor: pointer;
}
._fc-m-group-idx {
position: absolute;
bottom: -15px;
left: 10px;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
background: #eee;
border-radius: 15px;
font-weight: 700;
}
._fc-m-group-handle ._fc-m-group-btn + ._fc-m-group-btn {
margin-left: 7px;
}
._fc-m-group-container{
position: relative;
display: flex;
flex-direction: column;
border: 1px dashed #d9d9d9;
border-radius: 5px;
margin-bottom: 25px;
padding: 5px 5px 25px;
width: 100%;
box-sizing: border-box;
}
._fc-m-group-arrow {
position: relative;
width: 20px;
height: 20px;
}
._fc-m-group-arrow::before {
content: "";
position: absolute;
top: 8px;
left: 5px;
width: 9px;
height: 9px;
border-left: 2px solid #999;
border-top: 2px solid #999;
}
._fc-m-group-arrow::before {
transform: rotate(45deg);
}
._fc-m-group-arrow._fc-m-group-down {
transform: rotate(180deg);
}
._fc-m-group-plus-minus {
width: 20px;
height: 20px;
position: relative;
cursor: pointer;
}
._fc-m-group-plus-minus::before,
._fc-m-group-plus-minus::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 60%;
height: 2px;
background-color: #409eff;
transform: translate(-50%, -50%);
}
._fc-m-group-plus-minus::before {
transform: translate(-50%, -50%) rotate(90deg);
}
._fc-m-group-plus-minus._fc-m-group-minus::before {
display: none;
}
._fc-m-group-plus-minus._fc-m-group-minus::after {
background-color: #f56c6c;
}
._fc-m-group-add{
cursor: pointer;
width: 25px;
height: 25px;
border: 1px solid rgb(64 158 255 / 50%);
border-radius: 15px;
transform: scale(1.1);
}
._fc-m-group-add._fc-m-group-plus-minus::before, ._fc-m-group-add._fc-m-group-plus-minus::after {
width: 50%;
}