# button > **NOTE** > > This component is supported since API version 4. Updates will be marked with a superscript to indicate their earliest API version. The **\ ``` ```css /* xxx.css */ .div-button { flex-direction: column; align-items: center; } .first{ background-color: #F2F2F2; text-color: #0D81F2; } .button { margin-top: 15px; } .last{ background-color: #F2F2F2; text-color: #969696; margin-top: 15px; width: 280px; height:72px; } .button:waiting { width: 280px; } .circle { background-color: #007dff; radius: 72px; icon-width: 72px; icon-height: 72px; } .text { text-color: red; font-size: 40px; font-weight: 900; font-family: sans-serif; font-style: normal; } .download { width: 280px; text-color: white; background-color: #007dff; } ``` ```js // xxx.js export default { data: { count: 5, downloadText: "Download" }, progress(e) { this.count+= 10; this.downloadText = this.count+ "%"; this.$element('download-btn').setProgress({ progress: this.count}); if (this.count>= 100) { this.downloadText = "Done"; } } } ``` ![1](figures/1.png)