当前位置: 首页 > wzjs >正文

深圳国内设计网站app投放推广

深圳国内设计网站,app投放推广,日照比较好的网站建设企业,合肥最新通知今天以下是实现 page 样式仅影响当前组件的完整解决方案&#xff0c;通过 CSS 的 命名页面&#xff08;Named Pages&#xff09; 技术实现作用域隔离&#xff1a; vue <template><div><button v-print"printOptions">打印当前报表</button><…

以下是实现 @page 样式仅影响当前组件的完整解决方案,通过 CSS 的 命名页面(Named Pages) 技术实现作用域隔离:

vue

<template><div><button v-print="printOptions">打印当前报表</button><!-- 打印容器(添加特定类名) --><div id="printReport" class="print-scope"><!-- 页眉内容 --><div class="report-header">...</div><!-- 表格内容 --><table class="report-table">...</table><!-- 页脚内容 --><div class="report-footer">...</div></div></div>
</template><script setup>
// 脚本部分保持不变
</script><style scoped>
/* 普通样式 */
.print-scope {display: none;
}
</style><style>
/* 打印专用样式(无scoped) */
@media print {/* 关键步骤1:定义命名页面 */.print-scope {page: report-page; /* 绑定页面名称 */}/* 关键步骤2:指定命名页面的样式 */@page report-page {size: A4;margin: 100px 20px 60px;/* 页码位置 */@top-right {content: "第 " counter(page) " 页/共 " counter(pages) " 页";font-size: 12px;}}/* 其他样式规则... */
}
</style>

实现原理说明:

  1. 命名页面绑定

    css

    .print-scope {page: report-page; /* 将元素绑定到特定页面 */
    }
    • 通过 page 属性将打印容器与特定页面名称关联

  2. 限定作用域的页面规则

    css

    @page report-page { /* 仅影响绑定了report-page的元素 */ }
    • 只有应用了 page: report-page 的元素才会使用这个页面样式

  3. 样式隔离保障

    • 使用唯一命名(如 report-page

    • 其他组件使用不同的页面名称(如 sales-page

多组件共存示例:

css

/* 组件A的样式 */
@media print {.component-a {page: component-a-page;}@page component-a-page {margin: 2cm;}
}/* 组件B的样式 */
@media print {.component-b {page: component-b-page;}@page component-b-page {margin: 1cm;}
}

浏览器兼容性处理:

css

/* 添加浏览器前缀 */
@page report-page {-webkit-margin-before: 100px; /* Chrome/Safari */-moz-margin-top: 100px;       /* Firefox */margin-top: 100px;            /* 标准属性 */
}

最佳实践建议:

  1. 命名规范

    css

    /* 推荐使用 [组件名]-page 格式 */
    page: user-list-page;
  2. 动态样式注入(可选):

    javascript

    // 在组件挂载时动态添加样式
    onMounted(() => {const style = document.createElement('style')style.textContent = `@page unique-${Math.random().toString(36).substr(2, 9)} {/* 样式规则 */}`document.head.appendChild(style)
    })
  3. 样式优先级控制

    css

    @page report-page {margin: 1cm !important; /* 确保覆盖浏览器默认 */
    }

通过这种方案,不同组件的打印样式可以完全隔离,且无需担心全局污染问题。每个组件的 @page 规则都通过唯一的命名空间实现独立作用域。

http://www.dtcms.com/wzjs/252823.html

相关文章:

  • h5网站开发框架百度 营销怎么收费
  • 嘉兴网站建设托管网站seo分析工具
  • html+css网站模板免费网络推广软件有哪些
  • 网站开发如何处理兼容性问题在线网站流量查询
  • 网易免费企业邮箱登录入口杭州新站整站seo
  • 淘客网站是怎么做的互联网推广方案
  • 昆山高端网站建设机构江门百度seo公司
  • 东莞微信网站建设怎样免费的域名和网站
  • 建旅游网站多少钱网址查询ip地址
  • 如何自己制作公众号网站优化关键词公司
  • flask做的网站项目怎样做平台推广
  • 呼和浩特建设网站优化营商环境发言稿
  • 网络服务提供者知道或者应当知道网络用户利用其网络seo关键词排名软件流量词
  • 南京模板建站哪家好哈尔滨seo网络推广
  • 成都定制网站建设服务公司网站seo谷歌
  • 网站开发测试过程商丘seo
  • 三七批发可做网站名吗南宁seo推广优化
  • 腾讯公司做的购物网站南宁seo结算
  • 安徽省建设厅执业资格注册中心网站批量查询收录
  • 手机装wordpress北京网站优化站优化
  • wordpress用七牛公司seo是什么职位
  • 设计网站定制公司seo翻译
  • 嘉兴建设局网站广州seo排名收费
  • 2003建网站上海优质网站seo有哪些
  • 山西省网站百度软件中心
  • 手机一键建站怎样做关键词排名优化
  • 大学生可以做的网站项目建站网站关键词优化
  • 可以做砍价链接的网站seo百度关键字优化
  • javascript高级视频seo是对网站进行什么优化
  • 百度竞价排名案例seo网站关键词优化排名