一個(gè)關(guān)于border-radius值設(shè)置的問(wèn)題記錄

問(wèn)題記錄
今天本打算要完成一個(gè)類似于進(jìn)度條的小組件, 原型是這樣的(這里長(zhǎng)200px, 高28px)
我一看, 很簡(jiǎn)單嘛, 拋開那個(gè)數(shù)字1樣式不談, 整體父級(jí)樣式就是一個(gè)左邊半圓形, 右邊帶有弧度的div啊。
這個(gè)用css的border-radius就可以搞定了啊。 左邊是圓角, 圓角50px啊, 右邊是小圓角, 以往的div都是8px弧度的。 根據(jù)border-radius中角的順序(以順時(shí)針的方向解析,上左,上右,下右,下左), 設(shè)置border-radius: 50px 8px 8px 50px;就好了啊。 滿心歡喜寫好樣式, 打開瀏覽器。
傻了, 不對(duì)啊, 我原以為是這樣的
實(shí)際上, 瀏覽器中是這樣的
不對(duì)了啊, 右邊的角度設(shè)置了啊, 怎么看起來(lái)跟沒設(shè)置一樣呢, 我把8改成了10px在試了下, 還是差不多跟沒設(shè)置一樣的。
8px按理說(shuō)應(yīng)該有明顯的弧度了啊, 全設(shè)置成8px看看呢
對(duì)啊, 這是8px應(yīng)該有的弧度, 為什么改成左邊寫成50px就變樣了呢, 難道跟50px有關(guān)?帶著疑問(wèn), 我看了看百度。
百度說(shuō), 其實(shí)border-radius的完整寫法(w3c)是
border-radius: 1-4 length|% / 1-4 length|%;
平時(shí)我們寫的border-radius : 50px,其實(shí)完整的寫法應(yīng)該是:
border-radius : 50px 50px 50px 50px / 50px 50px 50px 50px;
“/”前的四個(gè)數(shù)值表示圓角的水平半徑,后面四個(gè)值表示圓角的垂直半徑
每個(gè)順序一一對(duì)應(yīng) (水平半徑:左上 右上 右下 左下)/(垂直半徑:左上 右上 右下 左下),
什么是水平半徑和垂直半徑呢?
根據(jù)水平半徑跟垂直半徑的比值, 可以調(diào)整角的弧度, 兩者半徑相同, 就是個(gè)圓角。 這就是問(wèn)什么我平時(shí)設(shè)置的角都是圓角的原因, 因?yàn)槲覜]有寫完整過(guò)
例如 border-radius:10px 20px 30px 40px/40px 30px 20px 10px
就是這樣的樣子
再來(lái)回頭看我們之前的問(wèn)題
我們忽略了高度28px了啊. 這樣算來(lái), 我們要設(shè)置右邊是個(gè)半圓形, 只要水平跟垂直半徑都是14px不就好了嗎
border-radius: 14px 8px 8px 14px / 14px 8px 8px 14px;
這樣,父級(jí)樣式不就對(duì)了嗎。
之前右邊設(shè)置的8px圓角看起來(lái)沒有效果, 可能跟50px比起來(lái), 被等比例壓縮了吧, 因?yàn)樽筮叡緛?lái)就高28px, 塞了個(gè)半徑50px進(jìn)去, 我算算(14 * 8 / 50 = 2.24), 就等于設(shè)置成了
border-radius: 14px 2.24px 2.24px 14px / 14px 2.24px 2.24px 14px;
以后寫樣式要當(dāng)心了啊, 小問(wèn)題也不小啊。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 這篇文章主要介紹了css3 border-radius屬性詳解,這里整理了詳細(xì)的代碼資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-05
- 下面小編就為大家?guī)?lái)一篇border-radius是向元素添加圓角邊框的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-26
利用CSS3的border-radius繪制太極及愛心圖案示例
CSS3中的border-radius可以輕松地用來(lái)繪制弧線,如果只用來(lái)做圓角矩形的話可就太浪費(fèi)了,下面就來(lái)展示一下利用CSS3的border-radius繪制太極及愛心圖案示例,需要的朋友可以參2016-05-17CSS3中border-radius屬性設(shè)定圓角的使用技巧
這篇文章主要介紹了CSS3中border-radius屬性設(shè)定圓角的使用技巧,border-radius的作用不止是最常用的圓角矩形,我們還可以利用它設(shè)置弧度來(lái)制作其他弧線邊框圖形,需要的朋友2016-05-10實(shí)例講解CSS3中的border-radius屬性
這篇文章主要介紹了實(shí)例講解CSS3中的border-radius屬性,是CSS3入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-18- 這篇文章主要介紹了CSS3使用border-radius屬性制作圓角,并附上示例代碼,推薦給有相同需求的小伙伴。2014-12-22
IE系列不支持CSS的圓角border-radius等屬性的解決方案
IE系列瀏覽器不支持CSS的圓角(border-radius)等CSS3屬性,如何解決這個(gè)問(wèn)題呢?百度了一下,發(fā)現(xiàn)有個(gè)開源的插件可以解決此問(wèn)題2014-09-15實(shí)現(xiàn)CSS3中的border-radius(邊框圓角)示例代碼
本文為大家詳細(xì)介紹下如何實(shí)現(xiàn)CSS3中的border-radius(圓角),具體代碼如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-19- 前面系統(tǒng)總結(jié)了CSS3中Gradient和RGBA的用法,今天我們?cè)谝黄饋?lái)看看CSS3中制作圓角的屬性border-radius的具體用法;在CSS2中,大家都碰到過(guò)圓角的制作,如今CSS3中的border-ra2012-12-24
CSS text-shadow,box-shadow,border-radius屬性
篇文章將對(duì) CSS 的幾個(gè)新屬性 (text-shadow,box-shadow,and border-radius) 做基本介紹。這些 CSS3 屬性通常用來(lái)加強(qiáng)頁(yè)面布局。2010-03-09