热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS‘样式’基础用法与案例

1、外部样式表方式1:方式2:(常

1、外部样式表

方式1:
方式2:(常用)

2、伪类选择器

a:hover{属性:属性值} 鼠标悬停

3、css常用属性 


文本属性 
font-size 字体大小font-weight加粗  (100/400/700)
font-family字体font-style倾斜  (italic/oblique/normal)
color字体颜色 text-align文本水平对齐 (left/center/right/justify)
line-height行高text-indent首行缩进
letter-spacing字间距  word-spacing英文间距
text-transform英文大小写
(capitalize首字母/lowercase小写/uppercase大写)
text-decoration文本修饰  
(none没有/underline下划线/overline上划线/line-through删除线)
text-shadow文本阴影box-shadow盒子阴影 ( inset 内阴影)

  /*注:justify 水平两端对齐,但是只对多行文本*/

  /* 文本阴影: text-shadow:x轴 y轴 模糊程度 阴影颜色 */

列表属性
list-stylenone (去除列表样式)list-style-type(disc实心圆/circle空心圆/square实心正方形/none无)
背景属性
background-color背景颜色  (rgba 透明度)background-image背景图片  ( url() )
background-repeat背景平铺  (no-repeat不平铺 repeat-xx轴平铺 repeat-yy轴平铺)background-position背景位置  (xpx ypx / center居中)
background-size背景大小  (cover  contain)background-attachment背景图固定 (finxd) ---视觉差效果
    /*cover:把背景图扩展至足够大,以使背景图像完全覆盖背景区域。也许无法显示在背景定位区域中*/
    /*contain:把图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。铺不满盒子,留白*/
浮动属性
float ( left / right )
盒子模型
padding内边距padding-方向top、bottom、left、right
margin外边距margin-方向top、bottom、left、right
border边框border-方向top、bottom、left、right

/* border:1px solid 颜色    样式:solid实线、dashed虚线、dotted点线 */

/* margin  (可以使用负值) */

溢出属性
overflowhidden(隐藏)/scroll(滚动)/auto(自动)
overflow-xX轴溢出 overflow-yY轴溢出
定位属性 
opsitionfixed固定定位(脱离文档流)
relative相对定位
absolute绝对定位(脱离文档流)
sticky粘性定位
其它属性
display元素类型互相转换none(隐藏)、inline(行内)/block(块)/inline-block(行内块) 
opacity 透明度z-index层级
white-space文本是否换行outlinenone ( 清除表格样式 )
border-radius圆角边框::-webkit-scrollbardisplay:none(取消滚动条)

例:半圆(border)


4、显示省略号

overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
#注释:固定的宽度

5、样式清除

*{margin:0,padding:0}

6、CSS三角形

.box {width: 0;height: 0;border: 20px solid transparent;border-bottom: 20px solid skyblue;}

7、CSS水平垂直居中

1.基于浏览器窗口
.box { height: 200PX;width: 200PX;background-color: skyblue;position: absolute; top: 50%;left: 50%;margin-top: -100px;margin-left: -100px;}2.基于父盒子嵌套子盒子/*方式一*/.box { //父盒子height: 400PX;width: 400PX;background-color: skyblue;margin: 0 auto;position: relative; //必写}.box2 { //子盒子width: 200px;height: 200px;background-color: tan;position: absolute;top: 200px;left: 200px;margin-left: -100px;margin-top: -100px;}/*方式二*/.box1 { position: relative;width: 200px;height: 200px;background-color: pink;}.box2 { position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto;width: 100px;height: 100px;background-color: skyblue;}/*方式三*/.box1 { width: 200px;height: 200px;background-color: pink;}.box2 { width: 50%;height: 50%;transform: translate(50%,50%); //css3 --- 2D平移background-color: skyblue;}3.弹性盒子 display:flex
.box1 {width: 200px;height: 200px;background-color: skyblue;display: flex;justify-content: center;align-items: center;}
.box2 {width: 100px;height: 100px;background-color: tan;}

8、精灵图

好处 1.减少服务器的请求次数,从而提高页面的加载速度
         2.减小图片的体积
用法  backgrund-position: x轴 y轴


9、宽高自适应

min-height //最小高度(常用)
max-height
min-width
max-width盒子根据窗口的大小进行自适应
body,html { height:100% }calc() ---动态计算长度值(支持:+、-、*、/ 运算)
例如:width: calc(100% - 200px)

10、清除浮动

方法1: 给父元素添加 overflow:hidden(缺点:会隐藏溢出的元素)
方法2: 在浮动的元素下方添加空块元素,并给该元素添加声明 clear:both(缺点:添加无意义的空标签,不利于代码可读性,且降低了浏览器的性能)
方法3: 万能清除浮动方法(父元素添加伪元素 ::after)选择器::after{height:0,content:"",clear:both,display:block,overflow:hidden / visibility:hidden}visibility:hidden //占位隐藏display:none //不占位隐藏

11、伪元素

选择器::before{ //在.....之前content:"内容"}
选择器::after{ //在.....之后content:"内容"}

12、CSS3---基础


1. 层级选择器


  • 子代选择器:    >
  • 兄弟选择器:    +  (当前元素后面的第一个兄弟)
  •                           ~  (当前元素后面的所有兄弟)
  • 属性选择器 :   [ 属性名 ]
  •                          标签名[ 属性名 ]
  • 结构伪类选择器: X:first-child(第一个元素)
                                  X:last-child(最后一个元素)
                                  X:nth-child(n)(索引值为n的子元素 2n/even:偶数,2n-1/odd:奇数)
  • 目标伪类选择器:  E:target 

例 :简易版---手风琴

//html目标1
金樽清酒斗十千,玉盘珍羞直万钱。
目标2
行路难,行路难,多歧路,今安在。
目标3
长风破浪会有时,直挂云帆济沧海。

a{ //cssdisplay: block;}div[id] { /* 属性选择器 */display: none;}div[id]:target { /* 目标伪类选择器 */display: block;}

2. 怪异盒模型 ( box-sizing )


  •   标准盒模型   content-box
  •   怪异盒模型   border-box

3. 渐变


  • 线性渐变 --- background: linear-gradient ( to 方位 ,red , green ) 
    • 支持多颜色渐变
    • 支持方向,( to left    或者   to bottom right )  
    • 支持角度的写法   ( 数值deg )
  •  径向渐变 --- background: radial-gradient ( circle, red ,green  );
    • 颜色后面添加百分比(%),控制过渡的展示比例(注:没有渐变效果)
    • circle:渐变为最大的圆形
  • 线性重复渐变 --- background: repeating-linear-gradient(red,green 10%); 
  • 径向重复渐变 --- background: repeating-radial-gradient(red,green 10%); 

例 :太极 --- 案例



4. 过渡(transition)


  • transition:all/具体属性值  运动时间s/ms  动画类型  延迟时间s/ms
    • all: 所有属性
    • linear/匀速、ease/逐渐慢下来、ease-in/加速、ease-out/减速、ease-in-out/先加速后减速
    • 谁要过渡,给谁加

 5. 2D(transform)


translateX()x轴平移
translateY()y轴平移
translate(Xpx,Ypx)对角平移
scale(数值)缩放
数值<1&#xff1a;缩小
数值>1&#xff1a;放大
负值&#xff1a;倒像放大效果
scaleX(数值)X轴缩放
scaleY(数值)Y轴缩放
rotate(数值deg)旋转
负值&#xff1a;逆时针旋转
负值&#xff1a;顺时针旋转
rotateX(数值deg)X轴旋转
rotateY(数值deg)Y轴旋转
skew(数值deg)倾斜
skewX(数值deg)X轴倾斜
skewY(数值deg)Y轴倾斜

  • 改变中心点位置&#xff1a;transform-origin&#xff1a;位置方向(top) 位置方向(left)  &#xff08;默认&#xff1a;center&#xff09;

 6. 关键帧动画&#xff08;animation&#xff09;


  • animation&#xff1a;动画名称 持续时间  过渡类型/linear  循环次数/infinite  循环中是否反向运动  延迟时间 保留动画最后状态&#xff1b;
  • 动画停止&#xff1a;animation-play-state&#xff1a;paused   &#xff08;结合鼠标hover&#xff0c;只能单一写&#xff09;
  • 过渡类型&#xff1a;steps(1,end)&#61;&#61;&#61;steps-end / steps(1,start)&#61;&#61;&#61;steps-start&#xff08;步数---直接进行关键帧跳跃&#xff09;
    • end&#xff1a;保留当前帧&#xff0c;看不见最后一帧、start&#xff1a;保留下一帧&#xff0c;看不见第一帧
  • 循环次数&#xff1a;&#xff08;infinite&#xff1a;无限次&#xff09;
  • 保留动画最后状态&#xff1a;forwards
  • 循环中是否反向运动&#xff1a;&#xff08;reverse&#xff1a;反方向&#xff09;、&#xff08;normal&#xff1a;正方向&#xff09;
  • /*声明动画*/
    &#64;keyframes 动画名称{from{}to{}
    }&#64;keyframes 动画名称{0%{}...100%{}
    }


7. 3D&#xff08;transform&#xff09; 


  • transform-style: preserve-3d;    // 开启css3d模式
  • perspective&#xff1a;数值   // 景深-位移

translate3d&#xff08;X, Y, Z&#xff09;位移
rotate3d (X, Y, Z, 数值deg)旋转
前面三个值取值0-1
scale3d (X, Y, Z)缩放

 3D旋转正方体-案例

1
2
3
4
5
6


8. 网格布局&#xff08;display&#xff1a;grid&#xff09;


  • display&#xff1a;grid     // 块级网格
  • display&#xff1a;inline-grid     // 行内块级网格 --- 了解
  • grid-template-rows&#xff1a;   //规定行
  • grid-template-columns&#xff1a; //固定列

固定值grid-template-rows&#xff1a;200px 200px 200px
grid-template-columns&#xff1a;200px 200px 200px
百分比grid-template-rows&#xff1a;25% 25% 25% 25% 
grid-template-columns&#xff1a;25% 25% 25% 25%
repeatgrid-template-rows&#xff1a;repeat(3/重复几次,33.33%)
grid-template-columns&#xff1a;repeat(3/重复几次,33.33%)
repeat  autofill
自动填充
grid-template-rows&#xff1a;repeat(auto-fill,33.33%)
grid-template-columns&#xff1a;repeat(auto-fill,33.33%)
fr片段grid-template-rows&#xff1a;1fr 2fr 1fr
grid-template-columns&#xff1a;1fr 2fr 1fr
/* 注&#xff1a;后面的取值数量代表是多少行&#xff0c;多少列 */
行间距row-gap&#xff1a;行间距 
列间距column-gap&#xff1a;列间距
间距&#xff08;复合属性&#xff09;gap&#xff1a;行间距 列间距
区域合并(父盒子)

grid-template-areas&#xff1a;&#39; a a c &#39;

                                   &#39; d e f &#39;

                                   &#39; g h i &#39;
// 后面的取名数量代表是多少行&#xff0c;多少列

区域命名(子盒子)grid-area&#xff1a;a  
改变项目顺序grid-auto-flow&#xff1a;column  
对齐方式justify-content
align-content
对齐方式-复合属性place-content&#xff1a;center conter
对齐方式justify-items
align-items
对齐方式-复合属性place-items&#xff1a;center conter
项目属性列&#xff1a;grid-column: 起始网格线 / 结束网格线
行&#xff1a;grid-row: 起始网格线 / 结束网格线

 网格布局-案例

 


推荐阅读
  • CSS3 实现鼠标悬停时滚动菜单的流畅过渡效果 ... [详细]
  • 网站前端开发的核心理念与必备技能解析 ... [详细]
  • Markdown语法说明:http:www.appinn.commarkdown1、前端碎片知识总结篇1.1关于浏览器IE的内核是Trident、Mozilla的内核 ... [详细]
  • 使用 Vue 集成 iScroll 实现移动端表格横向滚动与固定列功能 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 每日前端实战:148# 视频教程展示纯 CSS 实现按钮两侧滑入装饰元素的悬停效果
    通过点击页面右侧的“预览”按钮,您可以直接在当前页面查看效果,或点击链接进入全屏预览模式。该视频教程展示了如何使用纯 CSS 实现按钮两侧滑入装饰元素的悬停效果。视频内容具有互动性,观众可以实时调整代码并观察变化。访问以下链接体验完整效果:https://codepen.io/comehope/pen/yRyOZr。 ... [详细]
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • 精通jQuery:深入解析事件处理机制与应用技巧
    本文详细探讨了jQuery的事件处理机制及其应用技巧,通过具体的代码示例,逐一解析了每个jQuery代码片段与其对应的HTML结构。文章以标记为基准,CSS作为通用样式,确保每段代码都能独立运行。HTML和CSS代码统一放置在文章末尾,方便读者参考和实践。 ... [详细]
  • 滑动显示大图升级版
    之前做了一个滑动展示大图片的demo,之后在大神博客发现大神也做过一个类似的插件。于是把插件摘了下来研究了一下。改动了插件显示文本的部分并增加了一点注释。效果比我的好 ... [详细]
  • DW的div布局
    如果你想尝试一下不用表格来排版网页,而是用CSS来排版你的网页,也就是常听的用DIV来编排你的网页结构,又或者说你想学习网页标准设计,再或者说你的上司要你改变传统的表格排版方式,提 ... [详细]
  • css3伪类target实现tab切换
    CSS3target伪类不得不说那些事儿(纯CSS实现tab切换)是不是觉得target有点眼熟?!今天要讲的不是HTML的标签里面有个targe ... [详细]
author-avatar
Json
技术QQ交流群:294088839.
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有