我想更改手風琴的默認引導程式圖示
我想使用<i ></i>和<i ></i> 
當前結果:

據我所知,默認箭頭圖示來自這里(截斷):
.accordion-button::after {
background-image: url(data:image/svg xml,);
}
它基本上被設定為背景影像。
當用戶切換時,背景影像旋轉 180 度:
.accordion-button:not(.collapsed)::after {
background-image: url(data:image/svg xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#0c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
transform: rotate(
-180deg);
}
我想到的第一件事是將兩個 svg 替換為所需的引導程式圖示 svg 并洗掉旋轉。
所以我嘗試用引導程式圖示 svg 替換當前的 SVG:
.accordion-button::after {
order: -1;
margin-left: 0;
margin-right:0.5em;
background-image: url(data:image/svg xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#212529' fill-rule='evenodd' d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z' d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z'/%3e%3c/svg%3e);
background-color: white;
}
不幸的是它沒有奏效。我把 svg 代碼弄錯了嗎?有沒有更好的方法來實作這一目標?
現場 JS 小提琴
(隨意編輯代碼并嘗試任何引導程式圖示的 svg 代碼)
uj5u.com熱心網友回復:
我找到了一個解決方案,基本上我們需要對那些引導圖示 svg 進行編碼,以便將其用作 css 背景影像。
這是我找到的在線解決方案。
所以現在,用這個代碼:
.accordion-button::after {
order: -1;
margin-left: 0;
margin-right:0.5em;
background-image: url("data:image/svg xml,");
background-color: white;
}
有用!
uj5u.com熱心網友回復:
薩斯選項:
您沒有提到您是否使用了 sass(我可以看到),但是如果是,Bootstrap 5 為手風琴圖示狀態提供了 2 個 sass 變數,您可以覆寫它:
$accordion-button-icon: url("data:image/svg xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
$accordion-button-active-icon: url("data:image/svg xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
https://getbootstrap.com/docs/5.1/components/accordion/#variables
Bootstrap 5 也有一個escape_svg函式(我認為這就是它的名字)來轉義 SVG 中的字符。
您需要包含此處概述的變數覆寫:https : //getbootstrap.com/docs/5.1/customize/sass/#variable-defaults
可能看起來有很多作業,但是一旦使用 sass 進行設定,就可以更輕松地以這種方式覆寫和擴展 Bootstrap 中的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/347985.html
標籤:css 推特引导 svg bootstrap-5
