在HTML表單來標記所需的字段的一種常見方式是簡單地追加形式說明星號的星號(*)給它,以及(或許)在頂部段落或底部:用SVG替換文本中的星號(*)?
<label for="name">Name *</label>
<input type="text" id="name">
<p>* Required field</p>
我需要用SVG圖形來代替文本星號:
- 我需要它作爲直接在HTML代碼嵌入SVG(無外部資源)
- 我需要它可重複使用的
我的第一種方法是這樣的:
https://codepen.io/accessibility-developer-guide/pen/zEYKVR
我是很新的SVG,所以我有以下問題:
- 在它的定義我應該如何添加
<svg>
容器? CSSdisplay: none
正確的方法是? - 我該如何縮放「自然」的SVG以適應文本的大小?我玩過
width
和height
,但這會裁剪SVG容器大小,並且不會縮放其內容。
也許有一種更加有效的方式來將星號附加到文本上,例如,在::before
和::after
僞元素上使用CSS作爲background-image
?
的SVG似乎矯枉過正,當你可以使用一個僞元素與'content'「*」',它使用'字號縮放:1em' –
我知道這件事的解決方案,但是'內容'被屏幕閱讀器讀取,我不想要。 –
在這一點上,你需要在你的SVG中使用一個合適的'viewbox',然後用一個span來包圍它,並且適當地縮放它..至少在第一時間臉紅。 –