今天在项目中遇到一个css问题,描述如下:
页面有个内容为font-weight的各选项值的下拉框列表,如图:
它的源码:
<select id="ue_richbox_weight" style="width:80px;height:20px;margin:0 2px;" onchange="UEditor.menu_click(this,'style',{fontFamily: this.value});"><option value="Lighter" style="font-weight:lighter">Lighter</option><option value="100" style="font-weight:100">100</option><option value="200" style="font-weight:200">200</option><option value="300" style="font-weight:300">300</option><option value="400(nomal)" style="font-weight:400">400(nomal)</option><option value="500" style="font-weight:500">500</option><option value="600" style="font-weight:600">600</option><option value="700(bold)" style="font-weight:700">700(bold)</option><option value="800" style="font-weight:800">800</option><option value="900" style="font-weight:900">900</option><option value="Bolder" style="font-weight:lighter">Bolder</option></select>
我要实现的效果是,下拉框的文字样式跟它的文字相对应,这样用户选择的时候就很直观。
但实际的情况是,在ie里显示跟预期的一样,但在chrome和firefox里完全失效。
而网查了很多资料,没有哪里说这个样式有兼容问题,
并且产生的原因也找到了:
就是浏览器默认样式优先级高于我的内嵌样式。。。。。。这完全说不过去啊!!!!!!!!
因为所有的资料都说内嵌样式优先级最高!!
并且,我加上!important也没用,这真是太神奇了!!!!!
请高手们帮我想想办法吧,实在是太郁闷了!!!
回复讨论(解决方案)
用这个吧!
<select> <optgroup label="123123" style="font-weight:bold">123123</optgroup> <option value="Lighter" style="font-weight:lighter"> Lighter </option></select>
用这个吧!
<select> <optgroup label="123123" style="font-weight:bold">123123</optgroup> <option value="Lighter" style="font-weight:lighter"> Lighter </option></select>
都试过了,无效
那就不要用select标签了
那就不要用select标签了
要回避这个问题有很多方法,现在是想要解决这个问题,
我就是不服气,font-weight是通用标签样式,css的优先级也是大家都认可且通用的,font-family,font-size等也都可以,为什么唯独这个font-weight不行,是不是别的什么问题干扰了而我们不知道的
这不是优先级的问题,是浏览器根本不支持某元素设置某些样式。
你别的元素做个模拟的下拉框好了
这不是优先级的问题,是浏览器根本不支持某元素设置某些样式。
你别的元素做个模拟的下拉框好了
你说的不对,仔细看看题目,浏览器是支持这个样式的,只是我的样式被覆盖了
这不是优先级的问题,是浏览器根本不支持某元素设置某些样式。
你别的元素做个模拟的下拉框好了
你说的不对,仔细看看题目,浏览器是支持这个样式的,只是我的样式被覆盖了
我是说某些元素的某些样式是固定的,不支持用户的修改。这与css优先级没关系
别纠结了。。。
最开始浏览器出于安全考虑不允许对表单控件的某些样式修改,避免网页欺骗用户诱导用户做出错误的行为。
option 是内部属性,是不能直接修改的,有些样式可以通过父元素select修改,有些得有JS才行。
你想修改option样式,可以通过模拟或者JS等其他方法修改。
你非要内嵌这个东西,除非你去让人家重新定义标准。。。。
你非要内嵌这个东西,除非你去让人家重新定义标准。。。。
那你怎么解释,同一个页面同一个浏览器,我有三个下拉框,一个是font-size,一个是font-family,他们都是好的,就这个font-weight不行????
恩恩 我也试过了 偏偏就是这个不行,,这也没办法,人家浏览器就是这么规定的。
算了,结帖了,现在看来,多半是w3c标准执行中的一个bug吧,不知道会不会被修复。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)