css3實(shí)現(xiàn)頁面懸窗以及相應(yīng)的動(dòng)畫效果

背景

在做網(wǎng)站的時(shí)候帮匾,大都會(huì)有一個(gè)懸窗,用來展示聯(lián)系方式痴鳄,默認(rèn)展示幾個(gè)圖標(biāo)瘟斜,鼠標(biāo)劃上的時(shí)候顯示相應(yīng)的聯(lián)系方式,如下圖:

頁面懸窗效果圖

思路

1痪寻、頁面布局螺句,控制懸窗的顯示位置;
2橡类、書寫默認(rèn)的顯示效果壹蔓、鼠標(biāo)劃上的效果;

步驟

1猫态、頁面布局

<div class="contact-list">
      <span><b>123456</b><b>技術(shù)支持</b></span><br>
      <span><b>123456</b><b>技術(shù)支持</b></span>
    </div>

2、默認(rèn)展示效果以及相應(yīng)的動(dòng)畫效果,我直接把圖標(biāo)當(dāng)成背景圖片使用了亲雪,設(shè)置好背景圖片的位置勇凭,然后添加動(dòng)畫效果,這部分我用less寫的义辕,所以把拆解寫到注釋里面啦虾标;

.contact-list{
// 設(shè)置懸窗的展示位置
   position: fixed;
  top: 60%;
  right: 0%;
  z-index: 999;
  height: 110px;
  overflow: hidden;

// 設(shè)置兩個(gè)按鈕的通用樣式
& > span{
    display: block;
    height: 55px;
    width: 50px;
    font-size: @font-14px;
    color: @color-fff;
    float: right;
    // 添加動(dòng)畫效果,鼠標(biāo)劃上的寬度變化動(dòng)畫
    .translation(width, 1s);


   //  鼠標(biāo)劃上的時(shí)候更改padding的值灌砖,展示文字部分
    &:hover{
      padding: 5px 15px 0 50px;
    }

  // 對(duì)第一個(gè)span標(biāo)簽的設(shè)置
    &:first-child{
      // 設(shè)置上左右為3px的圓角
      .border-radius-top(3px);
      // 設(shè)置背景圖片
      background: url("../assets/images/pic/qq-black.png") #686868 no-repeat 12px center;
      
      // 設(shè)置鼠標(biāo)劃上的效果
      &:hover{
        // 第一個(gè)圖標(biāo)劃上時(shí)設(shè)置上左右和下左為圓角璧函,并切換背景圖片,修改展示寬度
        .border-radius-left(3px);
        background: url("../assets/images/pic/qq-white.png") #686868 no-repeat 12px center;
        width: 170px;

        // 修改文字部分的padding
        & > b{
          padding-left: 0px;
        }
      }
    }

 // 對(duì)第一個(gè)span標(biāo)簽的設(shè)置
    &:last-child{
      // 設(shè)置下左右為3px的圓角
      .border-radius-bottom(3px);
       // 設(shè)置背景圖片
      background: url("../assets/images/pic/wechat-black.png") #686868 no-repeat 12px center;

      // 設(shè)置鼠標(biāo)劃上的效果
      &:hover{

       // 第一個(gè)圖標(biāo)劃上時(shí)設(shè)置上左和下左右為圓角基显,并切換背景圖片蘸吓,修改展示寬度
        .border-radius-right(3px);
        background: url("../assets/images/pic/wechat-white.png") #686868 no-repeat 12px center;
        width: 170px;
        
        // 修改文字部分的padding
        & > b{
          padding-left: 0px;
        }
      }
    }


    // 聯(lián)系方式的通用樣式
    & > b{
      display: block;
      font-weight: normal;
      // 這個(gè)地方的padding設(shè)置大一些,保證默認(rèn)狀態(tài)文字是顯示不了的
      padding-left: 200px;
      // 修改padding-left時(shí)使用的動(dòng)畫效果
      .translation(padding-left, 1s);

      //  針對(duì)聯(lián)系方式的兩個(gè)部分撩幽,設(shè)置不同字體大小
      &:first-child{
        font-size: @font-16px;
      }
      &:last-child{
        font-size: @font-14px;
      }
    }
  }
}

3库继、動(dòng)畫效果使用的是translation,傳入需要變化的屬性和時(shí)間即可窜醉,其他的圓角是border-radius宪萄,需要的參數(shù)不同,設(shè)置的圓角尺寸不同即可榨惰,動(dòng)畫效果是單獨(dú)寫了一個(gè)less文件拜英,需要的時(shí)候引入即可,非常方便琅催,通用的樣式我也是單獨(dú)放在一個(gè)less文件里面居凶。
下面是和上面配套的動(dòng)畫less:

.border-radius(@radius: 5px){
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
  border-radius: @radius;
}
.border-radius-top(@radius: 5px){
  border-top-left-radius: @radius;
  border-top-right-radius: @radius;
  -moz-border-radius-topleft: @radius;
  -moz-border-radius-topright: @radius;
}
.border-radius-bottom(@radius: 5px){
  border-bottom-left-radius: @radius;
  border-bottom-right-radius: @radius;
  -moz-border-radius-bottomleft: @radius;
  -moz-border-radius-bottomright: @radius;
}
.border-radius-left(@radius: 5px){
  border-top-left-radius: @radius;
  border-bottom-left-radius: @radius;
  border-top-right-radius: @radius;
  -moz-border-radius-topleft: @radius;
  -moz-border-radius-bottomleft: @radius;
  -moz-border-radius-topright: @radius;
}
.border-radius-right(@radius: 5px){
  border-top-left-radius: @radius;
  border-bottom-left-radius: @radius;
  border-bottom-right-radius: @radius;
  -moz-border-radius-topleft: @radius;
  -moz-border-radius-bottomleft: @radius;
  -moz-border-radius-bottomright: @radius;
}
.translation(@props: width, @time: 1s){
  transition:@props @time;
  -moz-transition:@props @time; /* Firefox 4 */
  -webkit-transition:@props @time; /* Safari and Chrome */
  -o-transition:@props @time; /* Opera */
}
}

總結(jié)

1、按鈕部分(這里就是span標(biāo)簽)一定一定要設(shè)置float:right恢暖,否則兩個(gè)圖標(biāo)會(huì)一起伸縮排监,不能靠右固定;如果是懸窗再左邊杰捂,就設(shè)置float:left舆床,保證鼠標(biāo)劃上的時(shí)候兩個(gè)按鈕是不動(dòng)的;
2嫁佳、translation動(dòng)畫設(shè)置display屬性是不生效的挨队,所以這里用padding-left,讓信息再可視區(qū)域之外(外層容器設(shè)置overflow: hidden;)蒿往,鼠標(biāo)劃上的時(shí)候再重置一下盛垦,這樣就會(huì)有好看的動(dòng)畫效果了;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瓤漏,一起剝皮案震驚了整個(gè)濱河市腾夯,隨后出現(xiàn)的幾起案子颊埃,更是在濱河造成了極大的恐慌,老刑警劉巖蝶俱,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件班利,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡榨呆,警方通過查閱死者的電腦和手機(jī)罗标,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來积蜻,“玉大人闯割,你說我怎么就攤上這事「筒穑” “怎么了宙拉?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)如输。 經(jīng)常有香客問我鼓黔,道長(zhǎng),這世上最難降的妖魔是什么不见? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任澳化,我火速辦了婚禮,結(jié)果婚禮上稳吮,老公的妹妹穿的比我還像新娘缎谷。我一直安慰自己,他們只是感情好灶似,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布列林。 她就那樣靜靜地躺著,像睡著了一般酪惭。 火紅的嫁衣襯著肌膚如雪希痴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天春感,我揣著相機(jī)與錄音砌创,去河邊找鬼。 笑死鲫懒,一個(gè)胖子當(dāng)著我的面吹牛嫩实,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窥岩,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼甲献,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了颂翼?” 一聲冷哼從身側(cè)響起晃洒,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤慨灭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后球及,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缘挑,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年桶略,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诲宇。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡际歼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出姑蓝,到底是詐尸還是另有隱情鹅心,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布纺荧,位于F島的核電站旭愧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏宙暇。R本人自食惡果不足惜输枯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望占贫。 院中可真熱鬧桃熄,春花似錦、人聲如沸型奥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厢汹。三九已至螟深,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烫葬,已是汗流浹背界弧。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留厘灼,地道東北人夹纫。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像设凹,于是被迫代替她去往敵國和親舰讹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容