我必須擁有相同名稱的域,一個以 . 結尾,.nl一個以.be. 例如domain.nl和domain.be。它們都遵循相同的一般樣式,但我不希望某些元素具有基于 if.nl和.be. 如何在不加載其他 css 檔案的情況下實作這一點?
uj5u.com熱心網友回復:
如果您使用的是純 Javascript,我建議為域創建不同的 CSS 檔案;僅添加 2 個不同檔案中的差異,be一個用于nl.
somefilename_be.css
{
body: 'green';
}
somefilename_nl.css
{
body: 'red';
}
所有相同的樣式都應該放在一個通用檔案中,例如common.css.
然后您可以根據域有條件地加載 CSS 檔案。
if (window.location.host.split('.')[1] === "be")
document.write('<link rel="stylesheet" href="somefilename_be.css" />');
else
document.write('<link rel="stylesheet" href="somefilename_nl.css" />');
使用 JS 框架(React、Angular、Vue、Next、Svelte)
if (window.location.host.split('.')[1] === "be")
import('somefilename_be.css'));
else
import('somefilename_nl.css'));
uj5u.com熱心網友回復:
如果差異很小,您可以依賴根元素上的類,由 JavaScript 控制。例如:
if (/\.be$/.test(window.location.host)) {
document.documentElement.classList.add('variant-be');
}
.variant-text {
background: yellow;
}
.variant-be .variant-text {
background: lime;
}
<div class="variant-text">A text with two possible backgrounds</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/488432.html
標籤:javascript css 网址
