[英]How can I set a variable width in my CSS or Tailwind class?
我从我的 Django 视图中获取宽度,但我不知道我是否可以在 CSS 中使其可变。
我一直在尝试设置 Tailwind,但我想这不是正确的做法:
{% for movie in movies %}
<div id="bar" class="w-[{movie.score}]"
style="transition: 1s">
{{movie.score}}
</div>
{% endfor %}
但是,我也尝试直接在 CSS 中进行操作,但样式不接受变量为:
{% for movie in movies %}
<div id="bar" style="transition: 1s; width: {{movie.score}}; ">
{{movie.score}}
</div>
{% endfor %}
我也尝试使用 JavaScript 更改它,但我必须 select 多个元素,因为会有各种条形图。 所以,这根本行不通。 如果我使用 let,我会收到消息说之前已经声明了电影,但是使用 var 没有任何变化。
def get_context_data(self, **kwargs):
context = super(MoviesRatePage, self).get_context_data(**kwargs)
context['movies'] = movies
return context
{% block javascript %}
<script type="text/javascript">
var movies = "{{movies}}";
for (let i = 0; i < movies.length; i++) {
document.querySelectorAll("#bar")[i].style.width = `${movies[i].score}%`;
}
</script>
{% endblock javascript %}
因此,我想让条形宽度与电影的配乐相同。
第二种解决方案——直接通过style
属性设置宽度在技术上应该可行。 唯一缺少的是宽度单位。 Append px
应该没问题:
{% for movie in movies %}
<div id="bar" style="transition: 1s; width: {{movie.score}}px; ">
{{movie.score}}
</div>
{% endfor %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.