#javascript #html #css
#javascript #HTML #css
Вопрос:
Я пытаюсь установить стиль CSS на основе значения для элемента HTML, как мне поступить?
Файл .JSP:
<div style="margin-left:-14%;margin-top:-2.4%" >
**<bean:write name="messageFormBean" property="messageVO.messageFormat"/>**
</div>
На данный момент я установил стиль на margin-left: -14%;
, но
если значение для выделенного оператора (жирный шрифт) равно «A», то стиль должен быть margin-left:-14%;
, если это «B», то он должен быть margin-left:-3%;
.
Как бы я использовал условный оператор и соответствующим образом установил стиль?
Комментарии:
1. Рассмотрите возможность использования пользовательских свойств css, также известных как переменные css. davidwalsh.name/css-variables-javascript
Ответ №1:
Вместо использования JS вы можете добавить data
атрибут к div
элементу со значением, которое вы также печатаете внутри, например
<div data-letter="<bean:write ... />"> <!-- or whatever it takes to print the same value here -->
<bean:write name="messageFormBean" property="messageVO.messageFormat"/>
</div>
и используйте все необходимые селекторы атрибутов CSS, чтобы задать все необходимые свойства
[data-letter="A"] { margin: -2.4% 0 0 -14% }
[data-letter="B"] { margin: -2.4% 0 0 -3% }
...
[data-letter="Z"] { margin: ... }
Преимущество этого подхода: нет ненужного использования JS, нет CSS-in-JS и нет встроенного стиля.