R SHiny — разница между встроенным css и пользовательским css

#html #css #r #shiny

#HTML #css #r #блестящий

Вопрос:

Прошу прощения, если этот вопрос был задан и на него был дан ответ в другом месте (я искал его, но не смог найти решение). Внимание, у меня нулевой или минимальный опыт работы с HTML.

Я разрабатывал блестящее приложение, которое потребовало изрядной доработки некоторых блестящих виджетов с использованием css.

По сути, я не понимаю разницы между выполнением этого встроенного с использованием «style =»:

 column(width = 12, style = "margin-top: 25px", ... )
  

И использование тегов:

 tags$style(HTML("{margin-top: 25px;}"))
  

Для меня встроенный выглядит чище и имеет больше смысла, и в большинстве моих случаев использования работает. Хотя у меня складывается впечатление, что в целом люди рекомендуют подход tags $ style — в чем причина этого?

Я полагаю, что в Интернете есть несколько хороших ресурсов, на которых я мог бы узнать больше о css, что поможет моим блестящим навыкам, я был бы рад некоторым предложениям.

Спасибо за вашу помощь.

Ответ №1:

Разница в основном в том, что tags$style это «глобальный» стиль, в то время как в первом случае вы стилизуете только то, что находится внутри столбца (который является div элементом).

Рекомендуется использовать style, потому что вы можете дать определения глобального стиля вместо ручной настройки всех создаваемых вами элементов. Если вы все еще хотите изучать css, то вы быстро поймете этот момент.

Я бы также сказал, что наилучшей практикой для небольших приложений является создание отдельного документа style.css, в котором вы определяете значения по умолчанию для вашего приложения. Затем сохраните встроенный стиль для особых случаев, в которых вы хотите использовать исключения по умолчанию (встроенное «обычно» имеет приоритет над остальными).

Существует множество онлайн-ресурсов для изучения css. Самый базовый, на мой взгляд, хорошо описан в https://www.w3schools.com/css /. Кроме того, shiny использует bootstrap , что может быть интересно изучить в этом контексте.