是否有替代CSS的样式表格式化语言?或者CSS是当前用于制作样式表格式类型的单一语言吗?
我查看了维基百科上的CSS编写(http://en.wikipedia.org/wiki/Cascading_Style_Sheets)和其他一些关于CSS的评论,并对在不同的Layout引擎中缺乏对CSS的完全支持感到气馁,所以我很好奇有一个替代方案,或者我必须学会使用CSS过滤器。
感谢您的任何见解。
答案 0 :(得分:63)
CSS是唯一真正的选择。
对CSS的浏览器支持不应该是一个主要的问题(在大多数情况下),一旦你学习了ins& CSS的出局。理解CSS的关键是它的目的是定义HTML文档的样式,它应该与内容分开。
您需要练习如何在不支持功能的浏览器中优雅地降低内容。这里的基本思想是,您应该使最低的公分母(通常是Internet Explorer)工作“足够好”,以免影响用户体验,并为具有更好浏览器的用户提供细节。此外,首先不会为Internet Explorer开发。把它留到最后,然后修复它的错误。反过来做事(IE优先)要困难得多。
您还可以选择使用JavaScript来设置样式,但不建议这样做,因为您应该避免在JavaScript中应用样式,因为JavaScript是针对逻辑而不是样式。
网页中有3个(取决于你如何看待)组件:
答案 1 :(得分:60)
你们都试图从程序员的角度回答这个问题。我认为原始海报正在寻找一种更加图形友好的替代方案 - 一种可以提供不同概念的海报。
即使CSS3被跨浏览器采用,我相信CSS的布局方式(内联框,浮点数,边距等)也很糟糕。我是一名程序员,但我的父亲是一名平面设计师,我很确定他们使用20年的布局软件在某些方面比CSS更容易和更先进。
答案 2 :(得分:38)
是有,它叫做 LESS ,它确实解决了大多数CSS的代码可读性问题。
您可以使用 less.js 在服务器或即时客户端进行编译。
对于制作,我建议设置一个编译它的构建脚本(在NodeJS Grunt和grunt-contrib-less这是小菜一碟。
编辑:还有其他值得一提的选项,即使我正在使用并推荐LESS。
SASS:红宝石人喜欢这个。它不像LESS那样是超集的CSS,而是使用自己的语法。为了解决这个问题,他们开发了SCSS,是一个CSS超集,类似于LESS。
Stylus:与LESS一样,它是用javascript编码的,但这通常用于Node.js.我不能保证它,因为我还没有尝试过,但它已经非常成熟,所以如果它有你想要的功能,一定要去做。
Turbine:这个用PHP编码。牵引力不大。
Switch CSS:也许Python黑客会想要研究这个问题。牵引力更小。
如果您感觉更有其他选择,CSS Cacheer,CSScaffold,DtCSS,CSSPP甚至是something porneL
您可能想要查看的其他内容:
Compass:Ruby人员的全面CSS创作框架。
WinLESS:适用于Windows的拖放LESS编译器,它非常酷,你真的应该检查一下。
LESS Elements,Preboot,LESSHat和even.less:LESS的mixins和常量库。
Bootstrap:由Twitter开发的框架。还相关:HTML5 Boilerplate。
Normalize.css:CSS resets的替代方案。然而,有许多重置,作为一个开发者,我不得不说:大多数都是垃圾。如果你不打算自己做,那就用这个吧。
更新:Since 1.4,LESS也有@extend
。如果可能,请务必使用1.4+!这就完成了我认为选择LESS优于SASS的原因。
答案 3 :(得分:16)
是。
正如其他人所说的那样,CSS是你唯一真正的选择,但在网络上有另一种语言“样式表格式化事物”,称为可扩展样式表语言(XSL),特别是子集被称为XSL-FO (formatting objects)的规范。
在某一时刻,根据您的要求,它的目的是compete or collaborate with CSS。
答案 4 :(得分:7)
广泛的CSS并没有得到所有浏览器的全面支持......一个(未知的)替代方案应该如何达到这个目标?
答案 5 :(得分:7)
几乎每个浏览器都支持CSS 2.1。 (IE6除外) 一旦知道安全子集,就可以轻松编写优雅降级的CSS。 (因此,即使不支持的浏览器也不会完全弄乱页面)
有关CSS浏览器兼容性提示,请参阅http://www.quirksmode.org。
答案 6 :(得分:6)
对于在不同的布局引擎中缺乏对CSS的完全支持感到气馁
我认为jQuery有一些方法可以使css在浏览器之间更加兼容,即如果你使用jQuery指定一些属性,那么它将尝试确保为不支持某些功能的浏览器使用解决方法。 / p>
还有一个名为CleverCSS的项目,您可能想要查看它。它不是它的替代品,只是稍微不同的方式来定义它。
答案 7 :(得分:4)
网格样式表(GSS):GSS
更好的方式
答案 8 :(得分:4)
我查看了CSS的编写 维基百科 (http://en.wikipedia.org/wiki/Cascading_Style_Sheets) 关于CSS和CSS的一些其他评论 对缺乏而感到沮丧 完全支持不同的CSS 布局引擎,所以我只是好奇 如果有替代方案或我必须 学习也使用CSS过滤器。
CSS是 标准。别无选择。
所有浏览器都支持基本的CSS功能。每个(四个?)主浏览器行的每个新版本都增加了对标准的支持,但使用这些功能的网站将被破解为早期版本中的任何用户。这有两个答案:
“优雅降级”(或其双胞胎,“渐进式增强” - 谷歌它),其中页面利用高级功能,如果它们可用,而如果他们不是仍然继续工作。
您的受众群体是谁?如果您足够幸运地知道您网站的99.8%的访问者将至少使用IE7,那么您不必担心IE6中的CSS功能被破坏。这将取决于您自己的业务,因此请先检查事实。
您可以做的最糟糕的事情是编写单个特定浏览器的怪癖,因为这会导致页面不仅在其他浏览器上崩溃,甚至在同一浏览器的更高版本上也会破坏。
答案 9 :(得分:4)
另一种很久以前的JavaScript Style Sheets(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/
答案 10 :(得分:4)
答案 11 :(得分:3)
唯一的选择是HTML本身具有的弃用格式支持,例如<font>
标记。但你不想这样做。 8 - )
答案 12 :(得分:3)
不,CSS是现在的方式。格式本身没有任何问题(我个人非常喜欢它),而只是浏览器支持它 - 特别是关于IE。一旦我们拥有支持CSS3的所有主要浏览器,事情应该没问题 - 虽然我不会对何时会发生这种情况过于乐观。
答案 13 :(得分:3)
现在没有CSS的替代方案,这是一件好事。浏览器供应商,W3C,WHATWG等有足够的时间同意单个规范,你能想象如果有多个规范会发生什么?
无论如何,我发现一旦你学习了CSS,你就会知道什么是特定的东西会破坏什么,要么学会使用它,要么避免它。
希望这有帮助。
答案 14 :(得分:3)
是的! sass可能是一个选项
答案 15 :(得分:2)
我同意CSS支持的当前状态非常糟糕。
我认为最好的方法是根据the standard编写CSS,然后为各种浏览器不能正确遵守的所有位添加修复程序。如果你这样做,通常值得避免使用一些CSS(例如,z级别在很多浏览器中都支持混合级别)。
答案 16 :(得分:2)
不(大部分)
如果您想创建在最大数量的客户端计算机上工作的布局,那么您将不得不学习CSS。
如果您可以将用户限制为IE8,Chrome,Safari和Firefox,那么您可能可以使用CSS2,否则您将不得不学习CSS1的所有差异,以及无数破碎的东西 - 尤其是IE5和6。
HTML 3.2包含一些格式标记(例如<font>
或<center>
),但您无法对其进行太多操作。
为什么只有大部分? - 如果您可以假设用户拥有Flash或Silverlight并为他们构建Web应用程序。然后你的布局将是完美的,但它需要一个客户端插件(并非每个人都有)才能工作。如果你需要真正丰富的客户端UI,我只会走这条路。
答案 17 :(得分:1)
佐利是对的。 “xslt是另类”
XSLT将XML转换为呈现的网页,就像CSS将HTML转换为呈现的网页一样。 请注意,您不能将XSLT与HTML或CSS混合使用。
我已经使用CSS + XSLT来创建渲染的网页。
答案 18 :(得分:0)
据我所知,只有一个。至少对于HTML等。
答案 19 :(得分:0)
Flutter for web 。它仍处于技术预览中,但您可以查看here
答案 20 :(得分:0)
Elm-ui 是 Elm 的一个包,它是一种编译为 HTML/JS/CSS 的函数式语言。
它完全重新思考了我们对布局和风格的思考方式,我认为这样的项目早就应该进行了。
作者 Matthew Griffith 谈到了 Elm-ui here。
答案 21 :(得分:-1)
Adobe Postscript是CSS最有可能的替代品。问题是它需要Acrobat在桌面或Web上查看它。它远远优于CSS,并且可以保持设计意图并扩展到所有设备,包括打印机,绘图仪,手机,平板电脑以及带有Postscript解释器的任何设备。
Postscript有一个ZERO学习曲线,除非您为特定设备实现它。它由数百万程序员,图形艺术家,艺术家,专业打印机甚至是最低技能的家庭计算机用户编程。您需要做的就是从任何应用程序的菜单中选择打印或保存。它支持链接和字段输入。可以搜索吗?基于PS的文档经常出现在Google的搜索页面中。
虽然可以从Web浏览器以PDF格式查看,但它不是HTML和CSS等本机浏览器语言。为什么不是,如果它如此简单和强大?当网络开始时,Adobe太短视,贪婪地打开了语言。他们希望向他们的PS引擎及其内容创建产品出售许可证。对于Adobe来说,赠送PS浏览器就像放弃了Goose和金蛋一样。
答案 22 :(得分:-6)
xslt是另一种选择
它比css更强大。
学习和使用它更加困难。