jQuery位置与CSS
我是一名服务器人员,拥有有限但不断增长的客户端(javascript)能力 我有一个应用程序,它需要六个DIV标签,里面有背景图片和文本,所有这些都放在更大的图片上。考虑带有翻滚和文本的透明图像。所有这些都是动态的,具体取决于服务器端模板和配置 我发现使用核心jQuery position()方法以编程方式定位这些元素要比尝试纯CSS和基于标记的方法容易得多。使用CSS在DIV中垂直居中文本有很多方法,但是position()使这很容易 我的问题:jQuery位置与CSS,jquery,Jquery,我是一名服务器人员,拥有有限但不断增长的客户端(javascript)能力 我有一个应用程序,它需要六个DIV标签,里面有背景图片和文本,所有这些都放在更大的图片上。考虑带有翻滚和文本的透明图像。所有这些都是动态的,具体取决于服务器端模板和配置 我发现使用核心jQuery position()方法以编程方式定位这些元素要比尝试纯CSS和基于标记的方法容易得多。使用CSS在DIV中垂直居中文本有很多方法,但是position()使这很容易 我的问题: 广泛使用position()的方法与使用更多纯
广泛使用position()的方法与使用更多纯标记(传统HTML和CSS)的方法相比,有效性如何?我意识到,最终,大多数jQuery方法都会转换成样式和CSS。jQuery的position方法只是转换成一些CSS样式,即
position:absolute;顶部:Ypx;左:Xpx代码>。听起来,在您的案例中定位文本的唯一正确方法是使用那些CSS样式,但请记住那些关闭了javascript的人
或者,您可以动态修改每个div标记:
。。。。这里的文字代码>按语法这样做的最坏后果是,当代码执行并更新样式时,用户可能会看到闪烁
另一个结果是,对于需要更新代码的其他人来说,使用Javascript可能更难理解
我建议尽可能多地使用CSS,然后对不值得花时间去弄清楚的事情使用position,比如垂直居中 我想把你的网站分成至少3个不同的层次,即标记、行为和样式/定位。这意味着将3种语言/脚本放在单独的文件中:
* Markup: HTML
* Behaviour: Javascript or/and jQuery or other script
* Styling/postioning: CSS
jquery在设计样式时所做的是将样式放在HTML标记中,这在web开发中并不是一个好的实践。虽然你不能真正逃避它,尤其是在做动画或一些特效的时候
但是仍然不要尝试通过jquery添加css,除非在执行特殊效果、动画等时。在css文件中使用大部分样式。尝试使用每种技术。使用CSS定义样式类,然后使用jQuery操作object.Class以实现所需的样式。通过这样做,您已经使用CSS创建了样式,并使用jQuery/JavaScript进行了操作,并且没有将函数与样式混合使用。您问题的核心是
功能分离
“行为层”)从网页的
结构/内容和介绍
特别是
渐进增强使用web
以分层方式使用的技术
允许每个人访问基本的
网站的内容和功能
页面,使用任何浏览器或Internet
连接,同时还提供
具有更好的带宽或更高级
浏览器软件—增强版
这是本页的最后一页
你要问自己的是,要达到js开发的这一理想顶峰,你要走多远。有时候用这种方式编写代码是很愚蠢的(是的,我说了)。在一个完美的世界里,无限的截止日期,闪电般的手指,不断扩展的思维,你可以而且应该在每一种可能的情况下完全不引人注目地编写代码
让我再次强调,一个人应该尽可能努力实现这一目标。但我个人也有例外
- 内部应用程序:当我完全控制部署平台时,我会非常自如地使用position属性或任何轻微违反不引人注目理想的行为。特别是如果一个项目的预算很低。这里的关键是确保您或您为之编码的人知道这里的后备方案。(是的,您需要JavaScript/Browser X来运行此应用程序)
- 预算/时间:如果我遇到重大困难,并且在ie6中遇到一些琐碎的CSS错误,有时这是一个正确的决定
是的,可以使用position属性,但要尽量少用。最重要的部分是你的代码,或者你认为合适的优雅。如果站点/应用程序是可以忍受的,不需要javascript(),那么就使用它
jQuery/Javascript不足以取代CSS。如果你要在前端编码,你需要学习它。这是没有办法的。我不确定我是否同意你的前两个断言。1) 预加载修复了这一问题。2) 乱码就是乱码。是的,CSS用户比JS用户多。。。但是jQueryPositionAPI比乱七八糟的CSS更容易理解,但你在最后一个问题上肯定是对的。尽可能多地使用CSS,如果太混乱,就退后一步。我最初的感觉是,与CSS方法相比,jQuery方法更容易理解,但这是程序员与标记人之间的对话。@Derek我所说的是什么,这取决于实际情况。如果你有时间,最好花点时间学习如何正确使用css。如果这对你没用,或者你因为浪费时间而赔钱,那就采取措施完成这项工作。这是一个基于你资源的判断。我认为网站本身大量使用javascript来影响服务器端和客户端的图像处理,这是一个很好的理由。对于大量使用javascript,我们能找到的唯一替代方法是开发一个广泛使用Flash的网站,我认为这是两个祸害中最糟糕的一个。优雅的降级和大量使用javascript并不是不兼容的。实际上,优雅降级
是大量使用javascript的一种方式。我们的想法是尽可能多地使用javascript,但是在这样的情况下