<canvas>標簽定義寬高的方式及可能引起的問題

在使用<canvas>標簽時通常都會設置寬高。而設置<canvas>的寬高有兩種方式:

1、在<canvas>標簽中直接定義寬高。這種方式是指定可以繪畫的區域大小。例如:
<canvas id="drawing" width="200" heigth="200"></canvas>
說明:
  • 這種方式定義寬高時不用加單位。
  • <canvas>標簽直接定義的width和height是繪畫區域實際寬度和高度,繪制的圖形都是在這個上面。
  • 若是未定義寬高或值不正確,則會被設置成默認的width:300px、height:150px(可使用getComputedStyle在瀏覽器中查看)。
2、在style中定義寬高。例如:
//css
.canvas{
    width:200px;
    heigth:200px;
    //other style
}
//html
<canvas id="drawing" class="canvas"></canvas>
說明:

style的width和height是<canvas>在瀏覽器中被渲染的高度和寬度。

通過style設置寬高可能引起的問題
  • 若未定義<canvas>標簽的寬高而定義了style的寬高,則<canvas>標簽中繪制的圖片會進行拉伸,與預期效果不符。
  • 若同時定義了<canvas>標簽的寬高和style的寬高,則以style的寬高為準。
由上可知,應直接在<canvas>標簽中定義寬高,避免使用style屬性定義寬高。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,786評論 1 92
  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標簽 ②:HTML5 ...
    GreenHand1閱讀 4,707評論 2 32
  • 一:在制作一個Web應用或Web站點的過程中,你是如何考慮他的UI、安全性、高性能、SEO、可維護性以及技術因素的...
    Arno_z閱讀 1,204評論 0 1
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,787評論 0 2
  • 今天用Windows Media Player查看AVI視頻時,只有聲音,沒有圖像,這和WMP視頻播放器沒有...
    HF石上清泉閱讀 14,969評論 3 4