2015-06-21 61 views
0

我正在开发一个UI框架并且能够触发HTML元素中的样式更改,我在几种情况下使用了以下技术。我在想,如果这种做法是很常见之间的前端开发,例如:使用数据属性触发样式更改

[data-layout=fitted] { 
    width:100%; 
    height:100%; 
    display: block; 
    position: relative; 
    top:0; 
    left:0; 
    padding:0; 
    margin:0; 
} 

[data-layout=center] { 
    display: block; 
    position: relative; 
     top: 50%; 
    left:50%; 
    @include transform(translate(-50%,-50%)); 
} 

和HTML

<div class="some-class" data-layout="center">centered within parent element</div> 

<div class="some-class" data-layout="fitted">fitted into parent element</div> 

BTW:我的工作就是找到here :)

+1

是的,通常使用ID,类和自定义属性来设置元素的样式。 – Oriol

回答

-2

尝试在数据属性之前放置元素标签

div[data-layout="fitted"] { 
width:100%; 
height:100%; 
display: block; 
position: relative; 
top:0; 
left:0; 
padding:0; 
margin:0; 
} 
+0

你能证明“你必须”在属性选择符前加上元素吗? – Mark

+0

如果我想使用另一种元素类型的指令? – gevik

+0

如果你想使用它,你可以在类之间使用逗号“,”,如 div [data-layout =“fit”],div [data-layout =“center”],div [data-layout =“top”] { 宽度:100%; 身高:100%; display:block; 位置:相对; } – Yehia