更改JS内部样式的写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="button" value="点击" id="btn"/>
<script>
   var ele= document.getElementById('btn');
    ele.addEventListener('click',function(){
        alert('欢迎回归');
    })
</script>
</body>
</html>
//更改script标签的位置,script标签写在body标签内所有内容的最后面,内容在前,样式在后。document对应的是JS中的DOM
部分,如果放在内容之前,渲染时,样式找不到内容,可能会报错。
### 样式覆盖方式 在使用 `$createDialog` 创建对话框时,若需自定义其样式,主要依赖于全局样式覆盖或组件样式注入。由于 `cube-ui` 的 `Dialog` 是通过 `$create` 方法动态生成的组件实例,无法直接在单文件组件中为其添加 `scoped` 样式,因此需采用全局样式或使用 `scoped` 样式穿透机制。 #### 使用全局样式 可直接在全局 CSS 文件中添加样式规则以覆盖默认样式。例如,若需修改对话框内容区域的字体大小和颜色: ```css .cube-dialog-content { font-size: 16px; color: #333; } ``` 该方式适用于统一修改所有对话框的样式,适用于整个项目中风格一致的设计需求[^1]。 #### 使用 `scoped` 样式穿透 若需在特定组件中修改对话框样式,可利用 `scoped` 样式中的深度选择器。以 `SCSS` 或 `Sass` 为例: ```scss ::v-deep .cube-dialog-content { font-size: 14px; color: #666; } ``` 若使用 `Less` 或原生 `CSS`,可采用如下写法: ```css .cube-dialog-content { font-size: 14px; color: #666; } ``` 但需确保该样式定义在组件的 `<style>` 标签中,并且不使用 `scoped` 属性,或通过 `::v-deep`、`:deep()` 等方式穿透作用域。 #### 动态注入样式 对于更高级的样式定制需求,例如根据用户操作动态修改对话框样式,可使用 JavaScript 动态创建并插入 `<style>` 元素。以下是一个动态注入样式的示例: ```javascript function injectDialogStyle(customStyle) { const style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = customStyle; document.head.appendChild(style); } injectDialogStyle(` .cube-dialog-content { font-size: 18px; color: #000; } `); ``` 此方法适用于需要根据运行时条件动态调整样式的情况。 ### 自定义类名与结构 若需对 `$createDialog` 的 DOM 结构进行更精细的样式控制,可在创建对话框时传入 `className` 属性,并结合 `createElement` 构建自定义内容节点。例如: ```javascript this.$createDialog({ type: 'alert', className: 'custom-dialog', content: '请输入姓氏', onClose: () => { this.$createToast({ txt: '您关闭了对话框', time: 1000 }).show(); } }).show(); ``` 然后在全局或组件样式中定义 `.custom-dialog` 类的样式: ```css .custom-dialog .cube-dialog-content { font-weight: bold; color: red; } ``` 该方式允许开发者在不同上下文中定义不同的样式规则,实现灵活的视觉定制。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值