修正一位class

This commit is contained in:
satori 2024-09-05 22:30:01 +08:00
parent b60339796f
commit 9eb9ddb953
2 changed files with 22 additions and 33 deletions

View File

@ -1,20 +1,8 @@
import { div, span, pre, h1, p, ul, li, button, createElement } from './main.js' import { div, span, pre, h1, p, ul, li, button, createElement } from './main.js'
import { Dialog } from './widgets/dialog.js' import { Dialog } from './widgets/dialog.js'
// 会话/账户 document.body.appendChild(div.absolute.t_2.r_2.bg_red_500.childs([
document.body.appendChild(createElement({ div.text('会话/账户')
style: {
position: 'fixed',
top: 0,
right: 0,
},
children: [
div.text('session')
]
}))
document.body.appendChild(div.fixed.t_2.r_2.bg_red_500.childs([
div.text('session-x')
])) ]))
// cursor-pointer overflow-clip hover:text-pink-500 // cursor-pointer overflow-clip hover:text-pink-500
@ -27,7 +15,6 @@ document.body.appendChild(div.cursor_pointer.bg_red_500.overflow_clip.w_1000.chi
li.text('汲取了 pug 和 winicss 的灵感, 以及 flutter 的嵌套布局方式, pug 减少 html 冗余, winicss 减少 css 冗余'), li.text('汲取了 pug 和 winicss 的灵感, 以及 flutter 的嵌套布局方式, pug 减少 html 冗余, winicss 减少 css 冗余'),
li.text('这个库的唯一作用就是给dom对象添加了额外的操作方法, 且每个方法的返回值都是dom自身, 从而实现对dom对象的链式操作') li.text('这个库的唯一作用就是给dom对象添加了额外的操作方法, 且每个方法的返回值都是dom自身, 从而实现对dom对象的链式操作')
]), ]),
new button({ new button({
textContent: '模态窗口 dialog', textContent: '模态窗口 dialog',
onclick: event => { onclick: event => {
@ -39,8 +26,6 @@ document.body.appendChild(div.cursor_pointer.bg_red_500.overflow_clip.w_1000.chi
})) }))
} }
}), }),
//span.css('bg-red').m('2rem').p({ top: '2rem' }).text('Hello world!'),
new span({ textContent: 'Hello world!' }), new span({ textContent: 'Hello world!' }),
// 三类参数 // 三类参数
@ -59,5 +44,5 @@ document.body.appendChild(div.cursor_pointer.color_ppp.w(128).h(64).childs([
fetch('/index.js').then(res => res.text()).then(text => { fetch('/index.js').then(res => res.text()).then(text => {
text = text.replace(/from "\/main.js"/g, "from '@laniakeasupercluster/widgets'") text = text.replace(/from "\/main.js"/g, "from '@laniakeasupercluster/widgets'")
document.body.appendChild(pre.p('2rem').bg('#ececec').text(text.substring(0, text.indexOf('fetch')))) document.body.appendChild(pre.overflow_auto.p('2rem').bg('#ececec').text(text.substring(0, text.indexOf('fetch'))))
}) })

34
main.js
View File

@ -13,11 +13,25 @@ export function createElement({ innerText, innerHTML, textContent, readOnly, chi
if (readOnly) element.readOnly = readOnly if (readOnly) element.readOnly = readOnly
if (children) children.forEach(child => element.appendChild(child)) if (children) children.forEach(child => element.appendChild(child))
// 生成样式 // 分解类名生成样式, 直接将样式赋予元素
//if (names.length) console.log(names)
// 分解类名, 生成样式, 直接将样式赋予元素
names.map(name => name.split('_')).forEach(item => { names.map(name => name.split('_')).forEach(item => {
if (item.length === 1) {
const key = item[0]
// 支持快捷定位 position
if (['static', 'fixed', 'absolute', 'relative', 'sticky'].includes(key)) {
element.style.position = key
return
}
// 支持快捷布局 display
if (['block', 'inline-block', 'flex', 'grid'].includes(key)) {
element.style.display = key
return
}
}
// 两个参数的情况下, 第一个参数是样式名, 第二个参数是样式值 // 两个参数的情况下, 第一个参数是样式名, 第二个参数是样式值
if (item.length === 2) { if (item.length === 2) {
const [key, value] = item const [key, value] = item
@ -67,16 +81,6 @@ export function createElement({ innerText, innerHTML, textContent, readOnly, chi
return return
} }
// 支持快捷定位 position
if (['static', 'fixed', 'absolute', 'relative', 'sticky'].includes(key)) {
element.style.position = key
}
// 支持快捷布局 display
if (['block', 'inline-block', 'flex', 'grid'].includes(key)) {
element.style.display = key
}
// TODO 支持颜色输入 // TODO 支持颜色输入
if (key === 'color') { if (key === 'color') {
element.style.color = value element.style.color = value
@ -104,7 +108,7 @@ export function createElement({ innerText, innerHTML, textContent, readOnly, chi
} }
}) })
// 为元素添加链式操作方法 // 元素 增加链式操作方法
element.w = (width) => { element.style.width = width; return element } element.w = (width) => { element.style.width = width; return element }
element.h = (height) => { element.style.height = height; return element } element.h = (height) => { element.style.height = height; return element }
element.x = (left) => { element.style.left = left; return element } // 以居中线对齐(flex) element.x = (left) => { element.style.left = left; return element } // 以居中线对齐(flex)