我试图用UIkit(前端框架,而不是iOS框架)创建一个网页。
从v3开始,UIkit在其响应式类名称中使用了at-signs(.uk-text-left@s
会影响小型设备和更多,.uk-text-left@l
大型设备以及... ...
直接使用这些类会导致haml抱怨:
非法嵌套:内容不能与%div在同一行上给出 并嵌套在其中。 (Haml的::的SyntaxError)
或者,如果html元素不包含任何其他元素,则使用html内容中的@生成错误的输出:
<div class="uk-text-left">@s hello</div>
使用%div{ :class => "uk-text-left@s" }
可以正常工作,但是这种框架在很大程度上依赖于这些类,与仅输入.uk-text-left@s
相比,它产生了巨大的差异。
还有其他方法让haml接受at-sign作为类名的一部分吗?
答案 0 :(得分:1)
您可能需要对属性使用长格式方法。
而不是简写方法
%h1.awesome-sauce
你需要这样做
%h1{class: "@awesome-sauce"}
速记只是语法糖。如果有明显的模式,你总是可以编写一个帮助器或装饰器来处理名称生成。