css3的用法整理(一)_html/css_WEB-ITnose
首先,这篇文章只说css3的属性,在不支持这些属性的浏览器里怎么实现这些效果不在这篇文的考虑范围之内。
渐变Gradient
线性渐变:linear-gradient
语法:-moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )
示例:-moz-linear-gradient(top,#fff,#000);
这个示例的意思是,从上往下实现渐变,从上往下实现由白色变为黑色的渐变top也能写成top left表示从左上角开始实现渐变
径向渐变radial-gradient
语法:-webkit-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);
可以接收的参数:起始位置、方向、颜色,径向梯度,渐变的形状(圆形或椭圆形),大小(最近端,最近角,最远端,最远角,包含或覆盖 (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover))
示例:
-webkit-radial-gradient(bottom left,ellipse closest-side,#f90 5%,#f00 30%,#2e9900 80%)
从这个示例来说,便是:起始位置是左下角bottom left,渐变形状是椭圆ellipse,百分比表示径向梯度,三个颜色值表示起始颜色值,closest-side表示的就是渐变的大小
径向渐变现在还不支持Opera浏览器
重复渐变
repeating-linear-gradient根据我的测试,这个在火狐可以显示,在webkit内核浏览器并不能正常显示repeating-radial-gradient这个可以在firefox,chrome正常显示
示例代码:
-webkit-repeating-linear-gradient(top left -45deg,#ace,#ace 5px,#2e9900 5px,#2e9900 10px);
我的demo:http://codepen.io/superSnail/pen/jWwxpP
多个背景
语法:background:url(...),url(...),url(...)举个例子~假设背景图有1.jpg,2.jpg,3.jpg那么我们可以这样写
background:url("1.jpg") 0 0 no-repeat, url("2.jpg") 200px 0 no-repeat, url("3.jpg") 400px 201px no-repeat;
也可以这样写
background-image:url("1.jpg"),url("2.jpg"),url("3.jpg");background-repeat: no-repeat, no-repeat, no-repeat; background-position: 0 0, 200px 0, 400px 201px;
圆角border-radius
在没有border-radius这个属性之前,实现圆角的方式一般使用背景图。精通css上介绍了两种用图片实现的方式,其一是用两个带圆角的长条作为顶部和底部,中间可以平铺。其二是将四个角切图,然后其他区域填充来实现圆角的框
语法:border-radius : none | <length>{1,4} [/ <length>{1,4} ]?
border-radius是一种缩写的方法
- 如果写一个参数表示四个角的水平弧度和垂直弧度都是同一个值
- 如果写两个参数,表示top-left和bottom-right是第一个参数,top-right和bottom-left是第二个参数
- 如果写三个参数,表示,top-left是第一个参数,top-right和bottom-left是第二个参数,bottom-left是第三个参数
- 如果是四个参数,top-left是第一个参数,top-right是第二个参数,bottom-right是第三个参数,bottom-left是第四个参数
示例:border-radius:10px 10px 5px 5px /5px 5px 10px 10px;
这样的写法/前面的表示水平方向的四个弧度,/后面表示垂直方向的四个弧度
另外需要特别注意的是,border-radius一定要放置在-moz-border-radius和-webkit-border-radius后面
border-radius的demo:http://codepen.io/superSnail/pen/QyMNZv
图片边框border-image
首先,border-image不支持IE。支持的浏览器为Firefox3.5+,chrome或Safari3+
语法:border-image:source slice repeat
分别表示,边框背景图片地址,图片裁切方式,图片重复方式
- 裁切方式:将背景图切四刀变成一个九宫格,这是理解border-image最为关键的点见下图:
- 重复方式:有三种,repeat(重复),stretch(拉伸),round(平铺)。默认值是stretch
切九宫格的时候,数值默认单位是px,千万不能直接把px写上去,会出错!slice可以有1~4个参数,其方位顺序和margin,padding等一致,按照上右下左顺时针所以上图应该写为30% 35% 40% 30%或者30% 35% 40%
slice 将背景图切为九块之后,首先四个角上得图仍然放在四个角,然后四边的中间部分,将会按照你设定的重复模式开始描绘边框,默认就是拉伸的,如果你想要用重复或者平铺就要自己设置啦。
说一下重复和平铺的区别:重复就是按照原来的大小repeat,如果到最边上放不下了就直接切掉,所以会出现半块的情况平铺的意思就是,不一定按照原来的大小去重复,为了铺满需要的长度且不出现半块的情况,改变需重复单元的宽度,以实现平铺。(但是我的测试结果是,平铺和重复的展示效果是一样的,详细见demo)理解了以上,再看border-image的实现方式就会轻松很多。举个例子~http://codepen.io/superSnail/pen/adyJEp
详细的内容可以参考大大的文章,这是我详细学习border-image的教程http://www.zhangxinxu.com/wordpress/2010/01/css3-border-image详解、应用及jquery插件/
投影box-shadow
语法:box-shadow:type xoffset offset blur-radius spread-radius,color
分别是指:阴影类型,横向偏移,纵向偏移,模糊半径,扩展半径,颜色
- 其中阴影类型为inset时,为内阴影,默认为外阴影
- color不设值的时候,会取浏览器的默认阴影颜色,但是各浏览器的默认值不一样,在webkit内核的浏览器下阴影表现为透明色而mozilla和oprea下表现为黑色,建议不要省略
- 在写多层次阴影的时候,先写的层级会比较高
- 对图片写内阴影是不会有任何效果的
dropShadow效果demo:http://codepen.io/superSnail/pen/XXajKm
文字阴影 text-shadow
语法:text-shadow:offset,offset,blur,color
text-shadow可以根据模糊半径的不同一层一层叠加实现各种文字效果
例如:
text-shadow:40px #ff00de, 0 0 70px #ff00de;
这样样式的叠加,模糊半径都是从中心点开始算的,具体见demo
文字阴影的demohttp://codepen.io/superSnail/pen/QyMjBV
透明度RGBA,opacity
首先RGBA表示红,绿,蓝和透明四个通道所以背景白色可以表示为background:rgba(255,255,255,1);就是红绿蓝三个通道值为255,透明度为1,也就是不透明。如果要半透明效果可以将透明通道的值设为小数。
其次,用opacity实现透明,白色背景不透明,应该写成background:#fff;opacity:1;
以上两种方法按照这样的规律类推。
opacity的缺点是,如果父元素设为半透明,那么它的子元素都会继承这个半透明。然而rgba的表示方法就不会有这个问题。比如要实现一个半透明的弹出层,用opacity的话,就将导致这个层里的文字都会以半透明显示。为了解决这样问题就不得不用两层,将文字以定位的方式显示。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML的未來趨勢是語義化和Web組件,CSS的未來趨勢是CSS-in-JS和CSSHoudini,JavaScript的未來趨勢是WebAssembly和Serverless。 1.HTML的語義化提高可訪問性和SEO效果,Web組件提升開發效率但需注意瀏覽器兼容性。 2.CSS-in-JS增強樣式管理靈活性但可能增大文件體積,CSSHoudini允許直接操作CSS渲染。 3.WebAssembly優化瀏覽器應用性能但學習曲線陡,Serverless簡化開發但需優化冷啟動問題。

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTML是構建網頁結構的基石。 1.HTML定義內容結構和語義,使用、、等標籤。 2.提供語義化標記,如、、等,提升SEO效果。 3.通過標籤實現用戶交互,需注意表單驗證。 4.使用、等高級元素結合JavaScript實現動態效果。 5.常見錯誤包括標籤未閉合和屬性值未加引號,需使用驗證工具。 6.優化策略包括減少HTTP請求、壓縮HTML、使用語義化標籤等。

HTML、CSS和JavaScript是構建現代網頁的核心技術:1.HTML定義網頁結構,2.CSS負責網頁外觀,3.JavaScript提供網頁動態和交互性,它們共同作用,打造出用戶體驗良好的網站。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增強WebevebDevelopment。
