圖標Button
Button提供了通過向其添加圖標在視覺上增強其文本內容的選項。你可以添加一個帶有img元素或背景圖像(通常是一個子圖形)的圖標,考慮到web標準,使用背景圖像更好,因為圖標代表的是裝飾而不是結構性內容。
Button提供icon、spriteCssClass和imageUrl屬性,用于配置圖標。對于特定的Button您只能使用其中一個屬性,如果您定義了多個屬性則Button將按照前面所述的順序只使用其中一個屬性。
有關呈現圖標按鈕的完整示例,請參閱向按鈕添加圖像的文章。
增強按鈕的視覺效果:
- 使用背景圖標
- 使用圖像圖標
- 使用字體圖標
背景圖標
背景圖標應用于icon或spriteCssClass屬性并作為span元素的背景顯示。如果按鈕有一個k-sprite CSS類則可以自動渲染span元素或者使用現有的span元素,如果使用了圖標屬性則使用k-icon類。icon和spriteCssClass屬性的區別在于icon是用來作為主題子圖像一部分的內置Kendo UI圖標。有關可用圖標名稱的列表,請參閱關于使用圖標的文章。
下面的示例演示如何在Button組件中使用圖標。
<button type="button" id="editButton">Edit</button>
<button type="button" id="deleteButton"><span class="k-icon"></span>Delete</button>
<script>
$(function(){
$("#editButton").kendoButton({
icon: "pencil"
});
$("#deleteButton").kendoButton({
icon: "trash"
});
});
</script>
前面示例中的icon配置將生成以下HTML輸出。
<button type="button" id="editButton" class="k-button k-button-icontext"><span class="k-icon k-edit"></span>Edit</button> <button type="button" id="deleteButton" class="k-button k-button-icontext"><span class="k-icon k-delete"></span>Delete</button>
下面的例子演示了如何應用spriteCssClass。
<button type="button" id="editButton">Edit</button>
<button type="button" id="deleteButton"><span class="k-sprite"></span>Delete</button>
<script>
$(function(){
$("#editButton").kendoButton({
spriteCssClass: "myEditIcon"
});
$("#deleteButton").kendoButton({
spriteCssClass: "myDeleteIcon"
});
});
</script>
從技術上講spriteCssClass可以用來實現與icon相同的結果,但icon避免了同時設置兩個CSS類的需要并提供了一定程度的抽象展示。例如以下兩種配置實際上是相同的,#button2也應用了一個k-sprite CSS類到span元素但它不改變按鈕的外觀。
$(function(){
$("#button1").kendoButton({
icon: "foo"
});
$("#button2").kendoButton({
spriteCssClass: "k-icon k-foo"
});
});
在某些情況下您可能希望使用只包含圖標而沒有文本的Button,這種情況下為了增加組件的可訪問性,可以在sprite span中包含一個文本標簽。
<button type="button" id="deleteButton"><span class="k-sprite">Delete</span></button>
<script>
$(function(){
$("#deleteButton").kendoButton({
spriteCssClass: "myDeleteIcon"
});
});
</script>
圖像圖標
圖像圖標應用于imageUrl屬性并作為img元素顯示,按鈕可以自動呈現img元素或使用現有的img元素(如果它有k-image CSS類)。要在手動添加img元素時增加組件的可訪問性請應用alt屬性。
<button type="button" id="editButton">Edit</button>
<button type="button" id="deleteButton"><img class="k-image" alt="Delete" />Delete</button>
<script>
$(function(){
$("#editButton").kendoButton({
imageUrl: "/images/myEditIcon.gif"
});
$("#deleteButton").kendoButton({
imageUrl: "/images/myDeleteIcon.gif"
});
});
</script>
字體圖標
通過在spriteCssClass屬性上設置所需的第三方CSS類,你也可以在Kendo UI Button中使用FontAwesome或其他字體圖標。但這種方法會呈現一個k-sprite CSS類,它應用的字體和大小樣式可能會干擾字體圖標樣式。
要處理這個問題,可以使用以下方法之一:
覆蓋破壞字體圖標的Kendo UI樣式:
```dojo
<link rel="stylesheet"
 />
<style>
.k-button .fa {
font-size: inherit;
line-height: inherit;
width: auto;
height: auto;
margin-left: 0;
}
</style>
<button type="button" id="archiveButton">Archive</button>
<script>
$("#archiveButton").kendoButton({
spriteCssClass: "fa fa-archive"
});
</script>
```
在Kendo UI Button中直接包含所需的HTML標記和CSS類作為模板內容,Button就不會呈現k-sprite類:
```dojo
<link rel="stylesheet"
 />
<button type="button" id="archiveButton"><span class="fa fa-archive"></span> Archive</button>
<script>
$("#archiveButton").kendoButton({});
</script>
```                
            
 QQ交談
QQ交談 在線咨詢
在線咨詢 
                 
                
 渝公網安備
            50010702500608號
渝公網安備
            50010702500608號
             
            
 客服熱線
客服熱線