CSS揭秘學(xué)習(xí)筆記

第二章 背景與邊框


  1. 半透明邊框
    background-clip屬性設(shè)置為padding-box可以使背景不侵入邊框,默認(rèn)為border-box,意思是背景被邊框的外延框剪裁。

  2. 多重邊框
    2.1 box-shadow方案
    復(fù)習(xí)一下box-shadow用法:

  • insert內(nèi)投影,不設(shè)為外。可選

  • x-offset水平偏移,為正在元素右邊

  • y-offset垂直偏移,為正在元素上邊

  • blur-radius陰影模糊半徑 只能為正,越大越模糊。為0表示不具備陰影效果。可選

  • spread-radius陰影擴(kuò)展半徑 為正 陰影延展擴(kuò)大。可選

  • color顏色.

    注意:box-shadow不影響布局,多個(gè)投影之間用,隔開.
    2.2 outline方案
    語法跟border一樣,可以使用虛線。使用outline-offset控制跟元素之間的邊距。
    但不能設(shè)置多個(gè),不會(huì)貼合border-radius產(chǎn)生圓角效果(未來可能會(huì)改變)。

  1. 背景定位
background: url(code-pirate.svg) no-repeat bottom right #58a;
background-position: right 20px bottom 10px

第二行為擴(kuò)展語法,它允許我們指定背景圖片距離任 意角的偏移量,只要我們?cè)谄屏壳懊嬷付P(guān)鍵字。
第一張保證回退。
如果不想設(shè)置固定值,參照下面兩個(gè)方案:
3.1 background-origin 方案
默認(rèn)情況下,background-position 是以 padding box 為準(zhǔn)的,這樣邊框才不會(huì)遮住背景圖片。因此,top left 默認(rèn)指的是 padding box 的左上 角。background-origin在默認(rèn)情況下,它的值是padding-box。如果把它的 值改成 content-box,我們?cè)?code>background-position屬性中使用的邊角關(guān)鍵字將會(huì)以內(nèi)容區(qū)的邊緣作為基準(zhǔn)(也就是說,此時(shí)背景圖片距離邊角的偏移量就跟內(nèi)邊距保持一致了)。
3.2 calc() 方案
注意要在calc() 函數(shù)內(nèi)部的- 和 + 運(yùn)算符的兩側(cè)各加一個(gè)空白符,否則會(huì)產(chǎn)生解析錯(cuò)誤!

  1. 邊框內(nèi)圓角
    方法一:添加外層div做大背景,內(nèi)部div設(shè)置border-radius
<div class="something-meaningful">
   <div>I have a nice subtle inner rounding,     don't I look pretty? 
   </div>
</div>  
.something-meaningful {     
   background: #655;     
   padding: .8em; 
}  
.something-meaningful > div {     
   background: tan;     
   border-radius: .8em;     
   padding: 1em; 
}

方法二:設(shè)置outline,因?yàn)閛utline不受border-radius影響。至于outline與內(nèi)容之間的空白用box-radius填充,因?yàn)槭躡order-radius影響。擴(kuò)展半徑spread-radius的設(shè)置要比outline小,比border-radius的值當(dāng)直角等邊三角形的直角邊的斜邊大。

第四章 背景與邊框


  1. 平行四邊形
    原理:使用transform的skew函數(shù)。并把背景,邊框等樣式應(yīng)用到偽元素上
.skew{
      position: relative;  
      &::before{    
        position: absolute;    
        content: '';    
        top:0;    left: 0;    right:0;    bottom:0;    
        z-index: -1;   
        transform: skew(315deg);//向右    
        background: #58a; 
     }
}
  1. 菱形圖片
    方法一:使用transform的rotate函數(shù)以及scale函數(shù),只對(duì)正方形生效。外層旋轉(zhuǎn)45度,內(nèi)層設(shè)置max-width:100%,反旋轉(zhuǎn)45度,并放大1.42

第六章 用戶體驗(yàn)

  1. 關(guān)于鼠標(biāo)光標(biāo)
    1.1提示禁用狀態(tài)
:disabled, [disabled], [aria-disabled="true"] {     
  cursor: not-allowed; 
}

1.2隱藏鼠標(biāo)光標(biāo)

cursor: url('transparent.gif'); 
cursor: none
  1. 擴(kuò)大可點(diǎn)擊區(qū)域
    方法一:使用borderbackground-clip
border: 10px solid transparent; 
background-clip: padding-box;

如果需要真正的邊框,用box-shadow模擬
方法二:使用偽元素

button {     
    position: relative;
}
button::before {     
    content: '';     
    position: absolute;     
    top: -10px; 
    right: -10px;     
    bottom: -10px;
    left: -10px; 
} 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、垂直對(duì)齊 如果你用CSS,則你會(huì)有困惑:我該怎么垂直對(duì)齊容器中的元素?現(xiàn)在,利用CSS3的Transform,...
    kiddings閱讀 3,299評(píng)論 0 11
  • 我還記得國(guó)外某位大牛在一篇文章中寫道,CSS is fine, it's just really hard。讀完他...
    garble閱讀 1,202評(píng)論 0 0
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,126評(píng)論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,441評(píng)論 0 11
  • 熱愛生活的人,都會(huì)熱愛美食;熱愛美食的人,也都熱愛生活。 現(xiàn)在的都市生活,每天都要處理各種各樣的信息,小跑著去追逐...
    子莯青青閱讀 1,870評(píng)論 5 52

友情鏈接更多精彩內(nèi)容