box-shadow的應用技巧

来源:http://www.cnblogs.com/nangxi/archive/2017/10/16/7678746.html
-Advertisement-
Play Games

一、box-shadow的參數解析 此處參考http://blog.csdn.net/baidu_31345523/article/details/50264869 二、box-shadow應用 在說明我們這個應用之前,先給大家推薦一個網站http://www.css88.com/tool/css3 ...


一、box-shadow的參數解析

box-shadow:none;
box-shadow: h-shadow v-shadow blur spread color inset;
box-shadow參數解析
描述
none 預設值,元素沒有任何陰影效果。
h-shadow 陰影水平偏移量,其值可以是正負值。如果取正值,則陰影在元素的右邊,反之取負值,陰影在元素的左邊。
v-shadow 陰影垂直偏移量,其值可以是正負值。如果取正值,則陰影在元素的底部,反之取負值,陰影在元素的頂部。
blur 陰影模糊半徑,可選參數。其值只能是正值,如果取值為“0”時,表示陰影不具有模糊效果,如果取值越大,陰影的邊緣就越模糊。
spread 陰影擴展半徑,可選參數。其值可以是正負值,如果取值為正值,則整個陰影都延展擴大,反之取值為負值,則整個陰影都縮小。
color 陰影顏色,可選參數,如果不設定任何顏色時,瀏覽器會取預設色,但各瀏覽器預設色不一樣,特別是在Webkit內核下的瀏覽器將無色,也就是透明,建議不要省略這個參數。
inset 陰影類型,可選值。如果不設置,其預設的投影方式是外陰影;如果取其唯一值“inset”,就是給元素設置內陰影。

此處參考http://blog.csdn.net/baidu_31345523/article/details/50264869

二、box-shadow應用

在說明我們這個應用之前,先給大家推薦一個網站http://www.css88.com/tool/css3Preview/Box-Shadow.html,這個網站裡面可以調試盒子模型陰影,文字陰影,圓角等,功能挺多的,調試完之後可以直接複製代碼

我們接下來要做的效果,是這樣的

註意這個區域,白色的盒子模型上面遺留著上面橙色盒子的邊框陰影,這個效果怎麼做呢?

<div class="contain">
    <div class="contain-wrapper">        
    </div>
    <div class="foot-wrapper">        
    </div>
</div>    

我們的html代碼就這些,很明顯綠色區域是contain,橙色是contain-wrapper,白色是foot-wrapper。
我們來寫他們的css代碼

*{
    margin:0;
    padding: 0;
}
.contain{
    overflow: hidden;
    margin: 0 auto;
    width: 250px;
    height: 300px;
    background-color: #09b800;
}
.contain-wrapper{
    margin: 0 auto;
    margin-top: 10px;
    width: 200px;
    height: 100px;
    background: #ff7e00;
    border-radius: 10px;
    box-shadow: 0px 9px 15px -1px rgba(0,0,0,0.3);
}
.foot-wrapper{
    margin: 0 auto;
    width: 180px;
    height: 100px;
    background: white;
}

我們給橙色盒子設置了邊框陰影,橙色盒子的下邊框和白色盒子的上邊框緊密地貼在一起,這時候,問題出現了,我們來看看效果

 

我們發現橙色盒子的下邊框的陰影被白色盒子給遮住了,這可如何是好?我是用一個特別猥瑣的方法解決的。

既然陰影被遮住了,那麼我們就讓白色盒子補償給橙色盒子一條陰影,不是有一個參數叫做inset嗎?我們把白色盒子的上邊框的陰影往裡面投影,補上這個空缺不就好了嗎?

 

*{
    margin:0;
    padding: 0;
}
.contain{
    overflow: hidden;
    margin: 0 auto;
    width: 250px;
    height: 300px;
    background-color: #09b800;
}
.contain-wrapper{
    margin: 0 auto;
    margin-top: 10px;
    width: 200px;
    height: 100px;
    background: #ff7e00;
    border-radius: 10px;
    box-shadow: 0px 9px 15px -1px rgba(0,0,0,0.3);
}
.foot-wrapper{
    margin: 0 auto;
    width: 180px;
    height: 100px;
    background: white;
        box-shadow: inset 0 9px 5px -1px rgba(0,0,0,0.1);//新增,其他所有的參數要跟橙色盒子的陰影一樣,只是方向改變,這樣才不會影響結合起來的效果。
}

 

 

 

 




您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 晚上逛論壇看到一篇對從事HTML5前端開發的文章寫的非常不錯,和目前的市場形勢差不多,然後我在其基礎上給大家進行加工總結一下分享給大家.今天我們談論的話題是<<為什麼從事HTML5前端開發越來越火,工資高,並且還漲的快>>,針對這個問題進行分析分析. 俗話說的好:”沒有調查,就沒有發言權”,同 ...
  • 一、介紹 這是紅寶書(JavaScript高級程式設計 3版)的讀書筆記第四篇,是紅寶書第四章內容(主要是變數和作用域問題),當然其中還有我個人的理解。紅寶書這本書可以說是難啃的,要看完不容易,挺厚的,要看懂更不容易,要熟練js更是難,中間需要不斷的積累與重溫。因此不是讀一兩遍就能把這書吃透,需要多 ...
  • 獲取驗證碼 var countdown = 60; var but = document.getElementById('time'); but.addEventListener('click', function (e) { setTime(this); }) function setTime (... ...
  • 假設有這樣一個數組: 我們想去掉數組中id重覆的對象,比如同樣id為2的兩個對象—— 我們該如何去做呢? 事實上,對於數組對象,傳統的去重方法無能為力,至於forEach()、filter()等迭代方法也不好使;真正能做到優雅去重的,是ES5新增加的一個方法——reduce() reduce()方法 ...
  • Bootstap這個框架本身已經包含了開髮網頁的眾多要素,包括了常用的工具以及擴展組件,如果你在開發頁面時覺得在某些方面還不夠的話,不妨看看最新收集的50個Bootstrap擴展插件,這些插件在我們平時開發頁面中經常會用到,從按鈕、麵包屑導航、日曆、樹形菜單、媒體播放器、以及可視化編輯器等等,如果認 ...
  • ...
  • 下麵舉例14道前端面試題選擇題(摘自妙味課堂) 1、 選項:A、object B、array C、arguments D、undefined 解析:arguments即是實參的集合,又稱類數組對象。他的類型是對象object。因此選A。 2、 選項:A、number B、undefined C、fu ...
  • <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"><!--編碼--> <title>我的第一個網頁(題目)</title></head><body><p>你們好!這是我的第一個網頁,歡迎你們的訪問。<br/>這裡用b r換行</p ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...