mozilla中span设置宽度width , 画日历时发现

span的默认display属性是inline,这样导致了在firefox中无法对span设置宽度属性,需要调整span的display属性为inline-block就好了。这样ie中和firefox中就都能设置display属性了。

<html>
    <head>
       
    </head>
   
    <body>
        <script>
            function createCalendar(year , month) {
                //得到这一年的月份有多少天
                var daysCount = getDayCount(year , month);
                //得到1号和最大天数的日期对象
                var dateStart = new Date(year , month - 1 , 1);
                var dateEnd = new Date(year , month - 1 , daysCount);
                //得到天数的开始和结束是星期几
                var weekStart = dateStart.getDay();
                var weekEnd = dateEnd.getDay();
                //得到画出来的日历中空白的天数
                var dayLeft = weekStart + 6 - weekEnd;
                //得到总的天数
                var monthDaysAll = daysCount + dayLeft;
                //得到有几行
                var rows = monthDaysAll / 7;
                //画出标题
                //大的div
                var bigDiv = document.createElement('DIV');
                bigDiv.className = 'calendar';
                //添加title
                var titleDiv = document.createElement('DIV');
                titleDiv.className = 'title';
                /*
                text-align:center;
                border:black 3px double;
                width:350px;
                */
                var textTitle = getMonthName(month);
                titleDiv.appendChild(document.createTextNode(textTitle + ' , ' + year));
                titleDiv.style.textAlign = 'center';
                titleDiv.style.border = 'double 3px black';
                titleDiv.style.width = '350px';
                //添加到大的里面
                bigDiv.appendChild(titleDiv);
                //开始添加第一行
                var count = 0 ;
                var tmpDiv = null;
                for(var i = 0 ; i < monthDaysAll ; i++) {
                    if(i % 7 == 0) {
                        tmpDiv = document.createElement('DIV');
                        tmpDiv.className = 'line';
                        bigDiv.appendChild(tmpDiv);
                    }
                    var span = document.createElement('SPAN');
                    /*
                        width : 50px;
                        border : solid double 3px;
                        margin:0px;
                        padding:0px;
                        text-align:center;
                    */
                    if(i < weekStart) {
                        span.innerHTML = '&nbsp;';
                    } else if(i > (weekStart + daysCount - 1)) {
                        span.innerHTML = '&nbsp;';
                    } else {
                        span.innerHTML = (i + 1 - weekStart) + '';
                    }
                   
                    span.style.display = 'inline-block';
                    span.style.width = '50px';
                    span.style.border = 'double 3px black';
                    span.style.margin = '0px';
                    span.style.padding = '0px';
                    span.style.textAlign = 'center';
                    tmpDiv.appendChild(span);
                }
                bigDiv.appendChild(document.createElement('BR'));
                document.body.appendChild(bigDiv);
            }
            function getDayCount(year , month) {
                var day = 0;
                switch(month) {
                    case 1:
                    case 3:
                    case 5:
                    case 7:
                    case 8:
                    case 10:
                    case 12:
                        day = 31;
                        break;
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        day = 30;
                        break;
                    case 2:
                        if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
                            day = 29;
                            break;
                        }else {
                            day = 28;
                            break;
                        }
                }
                return day;
            }
            /*
                月份:January一月,February二月,March三月,April四月,May五月,June六月,July七月,August八月,September九月,October十月,Nevember十一月,December十二月.
            */
            function getMonthName(month) {
                switch(month) {
                    case 1:
                        return 'January';
                    case 2:
                        return 'February';
                    case 3:
                        return 'March';
                    case 4:
                        return 'April';
                    case 5:
                        return 'May';
                    case 6:
                        return 'June';
                    case 7:
                        return 'July';
                    case 8:
                        return 'August';
                    case 9:
                        return 'September';
                    case 10:
                        return 'October';
                    case 11:
                        return 'November';
                    case 12:
                        return 'December';
                }
            }
           
            function drawYear(year) {
                for(var i = 1 ; i <= 12 ; i++) {
                    createCalendar(year , i);
                }
            }
            drawYear(2009);
        </script>
    </body>
</html>

js 使用js的CreateElement方法创建元素、样式表动态引入 .动态创建link方式 我们可以使用link的方式.如下代码所示. function addCssByLink(url){ var doc=document; var link=doc.createElement("link"); link.setAttribute("rel", "stylesheet"); link.setAttribute("type", "tex 阅读详情

相关推荐

Rizin逆向工程框架:从入门到实战的免费开源利器

逆向工程是分析软件内部机制、理解程序行为的关键技术,广泛应用于安全研究、漏洞挖掘和恶意软件分析等领域。其核心原理在于通过静态与动态分析,解析二进制代码的逻辑与数据流。在众多工具中,Rizin作为一个免费、开源且功能强大的逆向工程框架脱颖而出,它继承了radare2的基因,并专注于模块化与社区协作。Rizin的技术价值在于其统一的命令行界面和强大的脚本自动化能力,极大地提升了分析效率与可重复性。通过集成反汇编、调试、二进制修补等核心功能,并结合官方图形前端Cutter,它能够有效应对从嵌入式固件分析到软件漏洞

闲谈 604

如何计算JavaScript中字符串文本的宽度

例如: ‘‘天猫旗舰店 49.67%(tmall)’’ 和 ‘‘天猫旗舰店 49.67%(tmall)’’ 测出来的宽度都为 165(此值可能会有差异)由于像素和字体大小,字节(特别是 UTF-8)等限制因素,所以我们不能直接知道一个字符串所占的实际宽度。// 这个函数只适用于’xxx xx’形式的字符串(即原串就含有空格)这种方法在字符串中含有多个空格,测出来的宽度会一样,的浮动的层来计算字符串宽度。// span元素转块级。// 获取span宽度。// 返回span宽度

我的博客,不一样的自我表达 2309

大模型微调评估:指标选择与实践指南

模型评估是机器学习工作流中的关键环节,其核心在于通过量化指标客观衡量模型性能。评估指标可分为通用指标(如困惑度PPL)和任务特定指标(如F1、ROUGE等),前者反映模型的基础语言理解能力,后者则针对具体应用场景。在工程实践中,合理的评估方案能有效指导模型优化方向,特别是在大模型微调场景中,评估结果直接影响模型的实际应用效果。LLaMA Factory等框架通过集成多种评估指标和自动化流程,显著提升了评估效率。开发者需要根据任务类型选择合适的评估策略,同注意数据划分、指标解释等关键细节,确保评估结果真实可

闲谈 494

dom编程

节点关系 节点关系 父子 父节点 parentElement 所有子节点 children 第一个子节点 firstElementChild 最后个子节点 lastElementChild 兄弟 上一个兄弟 previousElementSibling 下一个兄弟 nextElementSibling ...

m0_70158561的博客 325

document.createElement等DOM函数与属性

1、创建节点createElement()var node = document.createElement(“div”);没什么可说的,创建一个元素节点,但注意,这个节点不会被自动添加到文档(document)里。2、创建文本节点createTextNode()var value = document.createTextNode(“text”);创建一个文本节点,常用来往元素节点里添加内容,...

David 876

JS 三种添加元素的方式、区别( write、createElement、innerHTML

document.write, document.createElement, element.innerHTML 区别对比

Ares5k 1211

span如何设置width

如果span只加width参数,这个宽度设置不管用。需要把span加上display:inline-block.  Homepage进入中文主页 css文件中应该设置 #link span { width:120px; display:inline-block; } 在google chrome 和ie6中试验通过。 PS: CSS2标准中关于width 的定义发现

xiao_rory的专栏 2793

动态的创建一个元素 createElement 和删除一个元素

关键词:createElement appendChild  removeChild function test(){ //创建元素 var myElement = document.createElement("a");//a是想创建的html元素标签名 //给创建的元素添加必要的信息 myElement.href = "http://www.baidu.com

csdt_csdt的专栏 6921

javaScript中createElement案例

javaScript中createElement案例 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;createElement案例,雪豹软件工作室&lt;/title&gt; &lt;link rel="stylesheet" t

一只苟延残喘的卑微蝼蚁 4144

Vue ElementUi table宽度自适应 宽度计算

查看系统参数【批量获取文件(图片)的基础路径】当前值,默认d:/img,代表图片路径会在安装应用服务器的D盘img文件夹中寻找。(如果需要放在其它盘,可以修改当前值)

fangge_的博客 5787

Ubuntu 20.04升级本质:系统级手术与Focal特有故障修复指南

Ubuntu 升级并非简单命令执行,而是涉及内核、initramfs、DNS解析、音频子系统等多层架构变更的系统级演进。其核心原理在于APT依赖图重计算、systemd服务接管、ABI兼容性重构与硬件启用堆栈(HWE)切换。技术价值体现在长期支持稳定性、安全更新效性及新硬件兼容能力提升。典型应用场景包括服务器LTS迁移、AI开发环境(如ROS/VINS-Mono)适配、多媒体工作站(NVIDIA+PipeWire)部署。尤其需关注Ubuntu 20.04(Focal Fossa)引入的systemd-re

闲谈 656

jquery 获得图片等比缩放的值(开始 , 结束坐标点)

附件中

闲谈 519

模板驱动型文档自动化:批量生成专业文档的工程化实践

文档自动化是企业内容生产从手工作坊迈向标准化车间的关键跃迁,其核心在于以结构化模板替代自由编辑,通过字段映射、条件逻辑与样式继承实现内容复用与品牌一致性。相比传统Word或PPT模板,真正的模板驱动强调‘模板即规则’——涵盖结构层(章节准入控制)、样式层(品牌变量全局联动)、逻辑层(if-then业务判断),从而保障规模化交付的零误差与高可控性。该技术广泛应用于销售方案书、行业白皮书、合规报告等高频、高质、强规范场景,显著提升内容运营、咨询顾问与培训主管的工程化交付效率。本文聚焦Sqribble平台,深入解

闲谈 489

Apache Arrow核心原理:列式内存与零拷贝如何重塑数据处理性能

Apache Arrow 是一种标准化的列式内存格式,其设计直面现代 CPU 的缓存局部性与内存带宽瓶颈。通过将同类型数据连续存储,Arrow 显著提升 SIMD 并行计算效率;借助零拷贝机制,它在跨系统(如 Spark 与 Python)间传递数据避免冗余序列化与内存复制,大幅降低延迟与资源开销。该技术已成为高性能数据分析栈(DuckDB、Polars、PySpark)的底层基础设施,广泛应用于实报表、OLAP 查询加速与流批一体管道。本文聚焦 Arrow 的列式内存布局、零拷贝实现原理及典型生产陷阱

闲谈 483

JumpServer堡垒机未授权访问漏洞实战:从探测到加固的攻防演练

未授权访问是Web应用安全中常见的高危漏洞,其核心原理在于应用或服务未对访问请求进行有效的身份验证与授权检查,导致攻击者无需凭证即可访问受限资源或执行敏感操作。这类漏洞的技术价值在于,它往往成为攻击链的初始入口,为后续的权限提升、数据窃取乃至内网横向移动铺平道路,在运维安全、资产管理等场景中危害尤为显著。本文聚焦于开源堡垒机JumpServer,结合红蓝对抗演练中的实战案例,深入剖析了由配置疏忽与已知漏洞引发的未授权访问风险,系统梳理了从Web控制台、组件服务到数据库层面的立体化攻击面,并提供了从手工探测到

闲谈 480

模板驱动的文档自动化:无代码出版工作流解析

文档自动化是现代内容生产的关键技术路径,其核心在于将重复性排版与交付任务转化为可复用、可配置的结构化流程。基于模板驱动(Template-Driven)的设计范式,系统通过预定义样式契约、语义化内容解析和云端渲染引擎,实现从原始素材到专业PDF的一键生成。该技术显著降低对InDesign等专业工具的依赖,提升市场、培训、咨询等角色的内容交付效率与品牌一致性。结合无代码出版(No-Code Publishing)能力,用户无需编程基础即可完成跨设备编辑、智能分页、目录生成、响应式图片适配等出版级操作,广泛适用

闲谈 478

GlusterFS冗余存储池在Ubuntu上的可靠性实践

分布式文件系统中的冗余存储池,本质是通过多副本或纠删码实现数据持久化与高可用的基础架构。其核心原理依赖于节点间状态协同、仲裁机制和自愈能力,技术价值在于平衡数据安全性、访问性能与存储成本。典型应用场景包括日志归档、数据库备份、边缘计算共享存储等对持续可用性有严苛要求的Ubuntu服务器集群。然而,仅靠replica配置无法自动保障一致性——网络抖动、钟偏差、xattr损坏、挂载序错误等底层因素均会触发split-brain或heal失败。本文聚焦GlusterFS在Ubuntu环境下的真实落地约束,深入

闲谈 468
上一篇: 根据相对url得到绝对url
下一篇: 结果类型
java_mail_test
博客等级 码龄17年 1粉丝 299原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值