Ситуация здесь у меня особенная:
Я использую Vue.js, Vuetify и OpenLayers для создания приложения. который показывает полезную информацию о слоях для пользователя.
В одном из моих компонентов vue я хочу показать пользователю WMSFeatureInfo . что на самом деле HTML-коды в String . (Когда я запрашиваю слой WMS с помощью метода HTTP GET, я всегда получаю строку назад, которая содержит HTML-коды в строке)
То, как я показываю пользователю эту строку HTML, выглядит следующим образом: (я пропущу часть, как получить строку HTML, потому что она не связана с этим вопросом)
<v-container
align-content-center
v-html="feature.WMSFeatureInfo"
>
</v-container>
Проблема в том, что строка HTML содержит и стили CSS в ней , и она просачивается. Таким образом, каждый раз, когда я отправляю HTTP GET Request, получаю ответ этой HTML-строки и представляю информацию пользователю, шрифт всего приложения, цвет фона таблицы и т. Д. Будут меняться (Очевидно, CSS стили в строке HTML перезаписывают мой собственный стиль CSS).
Есть ли способ, которым я могу разместить полученные HTML-коды на своей странице, но игнорировать CSS-коды в ней? Или, может быть, я могу сделать CSS из vuetify всегда сильнее, чем другие?
Чтобы сделать вопрос более понятным, это строка HTML, которую я получил из запроса GET:
<html xmlns:esri_wms="http://www.esri.com/wms" xmlns="http://www.esri.com/wms">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
<style type="text/css">sub{font-family: arial;color: #202020} table, th, td {border:1px solid #e5e5e5;border-collapse:collapse; padding: 3px;font-family: arial;color: #202020;} table { margin-bottom:10px; } thead { font-weight: bold; }tbody { font-size: 80%; }th, td {valign: top;text-align: left;} thead td, th, .property_name {background-color: #75AE7E;} </style>
</head>
<body>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<colgroup>
<col width="30%"/>
<col/>
</colgroup>
<thead>
<tr><td colspan="2">schummerung</td></tr>
</thead>
<tbody>
<tr>
<td class="property_name">Stretchedvalue</td>
<td class="property_value">181</td>
</tr>
<tr>
<td class="property_name">PixelValue</td>
<td class="property_value">181</td>
</tr>
</tbody>
</table>
</body>
</html>
Так что после того, как я добавлю эти HTML-коды к своему <v-container>
(это просто <div>
), мои другие таблицы на странице (вне контейнера div) получат зеленый фон.
Я хочу, чтобы CSS-стили этого HTML-кода действовали только внутри <div>
, но не влияли на другие мои таблицы и шрифты на моей странице.