6

私はこのようなdivを持っています:

<div class="center small-top-margin">
  <%= rails code %>
</div>

ここで、「small-top-margin」は次のとおりです。

.small-top-margin {
    margin-top: 2em;
}

そのようなcssクラスに引数を渡す方法はありますか

class="top-margin(2)#=> margin-top: 2em;
class="top-margin(5)#=>margin-top: 5em; など。

またはさらに良い

class="margin(top, 2)#=>margin-top: 2em;

レールを介してこれを行う方法がある場合に備えて、タグを含めましRailsたが、純粋に css/sass ソリューションの方が優れています。

4

3 に答える 3

7

いいえ。ただし、妥当な数のビルド済みクラスを生成できます。

.top-margin-2 {
    margin-top: 2em;
}
.top-margin-5 {
    margin-top: 5em;
}

次に、HTMLを生成できますclass="top-margin-#{margin}"

これは通常は良いことではありませんが、本当に必要な場合は可能です。もう一度考え直して、自分が本当に欲しいものは何かを尋ねることを強くお勧めします。CSS クラスは意味的に意味のあるものである必要があります。そうでない場合は、要素の style 属性に CSS を直接適用することもできます。あなたにとって何2emを意味しますか?とは5em?

于 2013-11-07T08:50:15.513 に答える
0

いいえ、できません。

これを実現するには、LESSまたはSASSを使用します。

于 2013-11-07T08:50:07.583 に答える
-1

PHP を使用して、CSS ファイルにパラメーターを渡すことができます。1. style.php という名前でスタイルを次のように作成します。

<?php
/*** set the content type header ***/
header("Content-type: text/css");
/** set the  color ***/
$page = $_GET['page'];
$font_size = $_GET['font_size'];
if($page==1){
  $color = 'red';
}else{
  $color = 'yellow';
}
?>
#test{
  color:<?=$color;?>;
  font-size:<?=$font_size;?>;
}
  1. HTMLファイルでstyle.phpを呼び出し、パラメーターを渡します

    \link rel="stylesheet" media="screen" type="text/css" href="/css/style.php?page=1&font_size=35px"/>

    div id="test">テスト テスト /div>

于 2014-03-27T07:30:41.827 に答える