热门标签 | 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: 起始网格线 / 结束网格线

 网格布局-案例

 


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
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社区 版权所有