css - 有没有 CSS 的替代品?
20 回答 20
This answer is useful
82
你们都试图从程序员的角度回答这个问题。我认为最初的海报正在寻找一种对图形更友好的替代方案 - 一种可以提供不同概念的替代方案。
即使 CSS3 被跨浏览器采用,我相信 CSS 布局东西(内联框、浮动、边距等)的方式很糟糕。我是一名程序员,但我父亲是一名平面设计师,我很确定他们使用了 20 年的布局软件在某些方面比 CSS 更简单、更先进。
于 2011-12-01T17:55:39.590 回答
This answer is useful
69
CSS 是唯一真正的选择。
一旦您了解了 CSS 的来龙去脉,浏览器对 CSS 的支持(在大多数情况下)就不应该成为主要问题。理解 CSS 的关键是它的目的是定义 HTML 文档的样式,它应该与内容分开。
您需要练习学习如何在不支持功能的浏览器中优雅地降级。这里的基本思想是,您应该使最低公分母(通常是 Internet Explorer)工作“足够好”,不会影响用户体验,并为用户提供更好的浏览器。另外,不要先为 Internet Explorer 开发。把它留到最后,然后修复它的错误。反过来做事(首先是IE)要困难得多。
您还可以选择使用 JavaScript 设置样式,但不建议这样做,因为您应该避免在 JavaScript 中应用样式,因为 JavaScript 用于逻辑,而不是样式。
一个网页有 3 个(取决于你如何看待它)组件:
HTML - 用于内容
CSS - 用于样式化您的内容
JavaScript - 用于将附加或动态逻辑应用于您的内容
于 2009-05-29T12:06:40.620 回答
This answer is useful
40
是的,它被称为LESS,它确实解决了大多数 CSS 的代码可读性问题。
您既可以在服务器上编译它,也可以使用less.js在客户端即时编译它。
对于生产,我建议设置一个编译它的构建脚本(在NodeJS中,这对Grunt和grunt-contrib-less来说是小菜一碟)。
编辑:还有其他值得一提的选项,即使我正在使用和推荐 LESS。
SASS:Ruby 的人喜欢这个。它不像 LESS 那样是 CSS 的超集,而是使用自己的语法。为了解决这个问题,他们开发了 SCSS,这是一个 CSS 超集,类似于 LESS。
Stylus:和 LESS 一样,它是用 javascript 编码的,但这通常在 Node.js 中使用。我不能保证它,因为我还没有尝试过,但它非常成熟,所以如果它有你想要的功能,一定要去。
Turbine:这个是用 PHP 编码的。没有太大的吸引力。
Switch CSS:也许 Python 黑客会想要研究这个。牵引力更小。
如果你觉得有更多选择,还有CSS Cacheer、CSScaffold、DtCSS、CSSPP,甚至是porneL的东西。
您可能想查看的其他内容:
Compass:为 Ruby 开发人员提供的完整的 CSS 创作框架。
WinLESS:Windows 的拖放式 LESS 编译器,非常酷,您真的应该检查一下。
LESS Elements、 Preboot、 LESSHat和even.less:LESS 的 mixin 和常量库。
Bootstrap:由 Twitter 开发的框架。也相关: HTML5 Boilerplate。
Normalize.css : CSS 重置的替代方案。有很多重置,但是,作为一个的开发者,我不得不说:大多数都是废话。如果你不打算自己做,那就用这个吧。
更新:从 1.4开始,LESS 也有@extend。如果可能,请务必使用 1.4+!这完成了我认为选择 LESS 而不是 SASS 的原因。
于 2010-12-15T01:28:45.397 回答
This answer is useful
18
是的。
正如其他人所说,CSS 是您唯一真正的选择,但网络上还有另一种用于“样式表格式化类型的东西”的语言,称为可扩展样式表语言 (XSL),特别是被称为XSL-FO的规范子集(格式化对象)。
有一次,根据你问的是谁,它的目的是与 CSS 竞争或合作。
于 2009-05-29T12:04:51.917 回答
This answer is useful
11
网格样式表 (GSS):GSS
好多了
于 2014-08-08T06:48:19.690 回答
This answer is useful
8
广泛使用的 CSS 并未在所有浏览器中获得完全支持……(未知的)替代方案应该如何实现这一目标?
于 2009-05-29T12:02:42.513 回答
This answer is useful
7
嗯,几乎所有浏览器都很好地支持 CSS 2.1。(IE6 除外)一旦你知道了安全子集,就很容易编写优雅降级的 CSS。(这样即使不支持的浏览器也不会完全搞砸页面)
有关 CSS 浏览器兼容性提示,请参阅http://www.quirksmode.org。
于 2009-05-29T12:03:46.677 回答
This answer is useful
6
因在不同的布局引擎中缺乏对 CSS 的完全支持而感到沮丧
我认为 jQuery 有一些方法可以使 css 跨浏览器更兼容,即如果您使用 jQuery 指定一些属性,那么它将尝试确保对不支持某些功能的浏览器使用解决方法。
还有一个名为CleverCSS的项目,您可能想查看一下。但是,它不是它的替代品,只是定义它的方式略有不同。
于 2009-05-29T12:02:09.973 回答
This answer is useful
5
很久以前 JavaScript 样式表 (JSSS) 是 Netscape 提出的一种样式表语言技术,如果有人感兴趣,我会给你一些链接
http://en.wikipedia.org/wiki/JavaScript_Style_Sheets
这是提案 http://www.w3.org/Submission/1996/1/WD-jsss-960822
我认为这是一个好主意,但遗憾的是css赢了,但也许有些部分与javascript集成了?
也可能不是使用 css,您可以使用 svg 来获得一些文本效果,请查看示例
http://msdn.microsoft.com/en-us/ie/hh410107.aspx
和一些动画
http://svg-wow.org/ text-effects/text-effects.xhtml
一些按钮效果https://www.svgopen.org/2008/papers/86-Achieving_3D_Effects_with_SVG/
这是一个更酷的文本样式示例,您应该看看这个http://www.hongkiat .com/blog/scalable-vector-graphics-text/
于 2013-04-08T23:19:41.327 回答
This answer is useful
4
不,CSS是现在要走的路。格式本身没有任何问题(我个人实际上非常喜欢它),但只有浏览器支持它——尤其是关于 IE。一旦我们拥有所有支持CSS3的主要浏览器,一切都会好起来的——尽管我对什么时候会发生不太乐观。
于 2009-05-29T12:03:03.230 回答
This answer is useful
4
目前没有 CSS 的替代品,这是一件好事。浏览器供应商、W3C、WHATWG 等很难就一个规范达成一致,你能想象如果有多个规范会发生什么吗?
无论如何,我发现一旦你学习了 CSS,你就会了解哪些特定的东西会破坏什么,并且要么学会使用它,要么学会避免它。
希望这可以帮助。
于 2009-05-29T12:04:40.967 回答
This answer is useful
4
我查看了 Wikipedia ( http://en.wikipedia.org/wiki/Cascading_Style_Sheets ) 上关于 CSS 的文章以及其他一些关于 CSS 的评论,并对在不同的布局引擎中缺乏对 CSS 的完全支持感到沮丧,所以我只是好奇是否有替代方案,或者我必须学习也使用 CSS 过滤器。
CSS是标准。没有替代。
所有浏览器都支持基本的 CSS 功能。每个(四个?)主要浏览器行的每个新版本都增加了对该标准的支持,但是使用这些功能的网站将被早期版本的任何用户破坏。对此有两个答案:
“优雅降级”(或它的孪生兄弟,“渐进式增强” - google it),其中页面利用可用的高级功能,而如果它们不可用,则仍继续工作。
你的听众是谁?如果您有幸知道您网站的 99.8% 的访问者至少会使用 IE7,那么您不必担心 IE6 中的 CSS 功能被破坏。不过,这将取决于您自己的业务,因此请先检查事实。
您可以做的最糟糕的事情是针对单个特定浏览器的怪癖进行编码,因为这会导致页面不仅在其他浏览器上损坏,甚至在同一浏览器的更高版本上也损坏。
于 2009-05-29T12:18:51.687 回答
This answer is useful
3
唯一的选择是 HTML 本身具有的已弃用的格式支持,例如标签。但你不想那样做。8-)
于 2009-05-29T12:01:09.350 回答
This answer is useful
2
没有(大部分)
如果你想创建在最大数量的客户端机器上工作的布局,那么你必须学习 CSS。
如果您可以将您的用户限制在 IE8、Chrome、Safari 和 Firefox,那么您可能会摆脱 CSS2,否则您将不得不学习与 CSS1 的所有差异,以及无数损坏的东西——尤其是在 IE5 和 6 中.
HTML 3.2 包含一些格式标记(例如或
为什么只有大部分?- 如果您可以假设用户拥有 Flash 或 Silverlight 并为他们构建 Web 应用程序。然后你的布局将是完美的,但它需要一个客户端插件(不是每个人都有)才能工作。如果您需要真正丰富的客户端 UI,我只会走这条路。
于 2009-05-29T12:07:44.547 回答
This answer is useful
2
我同意当前的 CSS 支持状态非常糟糕。
我认为最好的方法是根据标准编写 CSS ,然后为各种浏览器不正确遵守的所有位添加修复。但是,如果您愿意,通常值得避免使用一些 CSS(例如,z-levels 在许多浏览器中具有真正混合级别的支持)。
于 2009-05-29T12:25:21.330 回答
This answer is useful
2
是的 !sass可能是一种选择
于 2011-08-05T21:12:41.283 回答
This answer is useful
2
Elm-ui是 Elm 的一个包,它是一种编译为 HTML/JS/CSS 的函数式语言。
它完全重新思考了我们对布局和风格的思考方式,我认为这样的项目早就应该了。
作者 Matthew Griffith在这里谈到了 Elm-ui 。
于 2021-03-04T15:23:47.197 回答
This answer is useful
1
佐利是对的。“xslt 是另一种选择”
XSLT 将 XML 转换为渲染的网页,就像 CSS 将 HTML 转换为渲染的网页一样。请注意,您不能将 XSLT 与 HTML 或 CSS 与 XML 混合使用。
我使用 CSS + XSLT 创建渲染网页。
于 2010-01-12T02:10:40.780 回答
This answer is useful
1
Adobe Postscript 是 CSS 最有可能的替代品。问题是它需要 Acrobat 在桌面或 Web 上查看。它远远优于 CSS,并在所有设备上保持设计意图和规模,包括打印机、绘图仪、手机、平板电脑以及几乎任何带有 Postscript 解释器的东西。
Postscript 的学习曲线为零,除非您为特定设备实施它。它由数以百万计的程序员、图形艺术家、艺术家、专业打印机甚至是技能最低的家庭计算机用户编写。您需要做的就是从任何应用程序的菜单中选择打印或保存。它确实支持链接和字段输入。可以搜索吗?它和基于 PS 的文档经常出现在 Google 的搜索页面中。
尽管可以从 Web 浏览器中以 PDF 的形式查看它,但它不像 HTML 和 CSS 那样是原生浏览器语言。如果它如此简单和强大,为什么不呢?网络刚起步时,Adobe 过于短视,贪婪地开放语言。他们想向他们的 PS 引擎和他们的内容创作产品出售许可证。对 Adobe 来说,赠送 PS 浏览器就像赠送鹅和金蛋。
于 2017-05-28T19:28:55.357 回答
This answer is useful
-6
xslt 是另一种选择
它比css更强大。
学习和使用它更加困难。
于 2009-05-29T12:26:28.613 回答