分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

css

发布时间:2023-09-06 02:13责任编辑:熊小新关键词:暂无标签

 一 , css选择器

  1, css注释

    /*注释内容*/

  2, HTML与css的结合方式 (css的引用)

   1 , 直接在标签中引用;

   2, 在头部采用选择器加属性的方式引用;

   3, 在css文件中(以后常用)

    

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????#d2 {color : red} <!--在头部,用选择器加属性引用--> ???</style> ???<link rel="stylesheet" href="引用.css"> <!--link标签引用指定的css文件( rel指的是引用的类型,href表示引用路径)--></head><body><div  style="color:green">直接在标签中引用</div><div  >选择器加属性</div><div >css文件</div></body></html>
#d3 {color:red}

  3, 基本选择器(找标签的基本方式)

   元素选择器

    根据标签的名字找

    标签名 {属性}

   ID选择器

    #id值 {属性}

   类选择器

    .类名 {属性}

    样式类名不要用数字开头,有的浏览器不认,常用数字字母开头 ;

    标签中的class属性如果有多个,要用空格分开

   通用选择器

    * { 属性;}  表示操作body标签下的所有标签

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>找标签方式</title> ???<style> ???????p {color:red} <!--元素选择器,可以批量的查找(对所有div标签操作)--> ???</style> ???<style> ???????#p2 {color:green} <!--ID选择器,指定某一个标签--> ???</style> ???<style> ???????.类选择 {color: yellow} ???</style></head><body><div >类选择器</div><div >ID选择器</div><div >类选择器</div><p>元素选择器</p><p>元素选择器</p></body></html>

  4, 组合选择器

   后代选择器  父标签 后代标签 {属性}

    操作父标签嵌套下的所有后代标签

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????div span {color:red}
    <!--#d2 span {color:red}-->
???</style></head><body><div >选择器加属性 ???<span>儿子标签</span> ??<!--儿子--> ???<p> ???????<span>孙子标签</span> ??<!--孙子--> ???</p></div><div >css文件</div></body></html>

  儿子选择器  父标签>儿子标签 {属性}

    只操作父标签 下一级的 与选中的儿子标签的名字 相同的儿子标签 或该儿子标签嵌套下的标签

    注意 : 下一级的儿子标签如果是id形式则只会操作那一项id标签,如果此id标签下还有儿子标签则不操作.

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????#d2>span {color:red} ???</style></head><body><div  >选择器加属性 ???<span>儿子标签</span> ??<!--选中的一个相同名字的儿子标签--> ???<span> ?????????????????<!--选中的另一个相同名字的儿子标签--> ???????<span>span孙子标签</span> ??<!--该儿子标签下的孙子标签--> ???????<div>div孙子</div> ???????<!--该儿子标签下的另一孙子标签,与选中的儿子标签的名字不同--> ???</span> ???<div> ???????<span> ???????????孙子标签 ???????</span> ???</div></div><div >css文件</div></body></html>

  毗邻选择器  标签名+标签名(毗邻标签) {属性}

    选中的毗邻标签只能是在 标签名后面的一个,不能是前面或后面,因为程序从上到下执行,不会返回选中.

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ??????div+div {color : red} ???</style></head><body><div>上面的div</div><div> ???????<span> ???????????孙子标签 ???????</span></div><div >下面的div</div>  </body></html>

  弟弟标签  标签名~同级标签名 {属性}

    操作 标签名 后面的所有同一级的 相同名称 的标签

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ??????div~span {color : red} ???</style></head><body><span>上面的div</span><div> ???????<span> ???????????孙子标签 ???????</span></div><span>紧挨着</span><span>隔一个</span><div >下面的div</div><span>隔了一个不同名的</span> ??<!--对于隔着其他不同名的标签的弟弟标签,也操作--><span> ???<div> ??????????????????????<!--对于同一级的弟弟标签嵌套的儿子标签也进行操作--> ???????弟弟标签下的儿子标签 ???</div></span></body></html>

  属性选择器  标签 [标签属性] {属性}

    只操作 该标签内 标签属性名与标签属性值组成的键值对

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ??????input[type=‘text‘] {border:1px solid red} ???</style></head><body><input type="text">属性标签<div> ???<input type="text">嵌套中的属性标签 ???<input type="radio">嵌套中的属性标签属性不一样</div></body></html>

  不常用选择器

  

  分组选择器  选择器,选择器 {属性}

  当一个或多个选择器对元素操作相同属性时,可以把多个选择器写在一起,用逗号隔开.

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ??????div,input[type=‘text‘] {border:1px solid red} ???</style></head><body><div>div最外层</div> ??<!--有效果--><input type="text">input最外层 ??<!--有效果--><span> ???<input type="text">input嵌套 ???<!--有效果,选择器之间不是嵌套关系--> ???<input type="radio">input嵌套名称不一样 ??<!--没效果不是嵌套关系--></span></body></html>

  嵌套选择器

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ??????#d1 .s1 p {color:red} <!--对id为d1的标签下的类标签为.s1下的p标签进行操作--> ???</style></head><body><div > ???<span > ???????<p>三层嵌套</p> ???</span></div> ??<!--有效果--></body></html>

  伪类选择器

/* 未访问的链接 */a:link { ?color: #FF0000}/* 已访问的链接 */a:visited { ?color: #00FF00  /*被操作过的对象会变色*/} /* 鼠标移动到链接上 */a:hover { ?color: #FF00FF} /* 选定的链接 */ a:active { ?color: #0000FF ??/*光标点击会标色,移走则选中*/}/*input输入框获取焦点时样式(获取光标)*/input:focus { ?outline: none; ?background-color: #eee;}

  伪元素选择器

   first-letter  标签:first-letter {属性}

   常用来给标签内的第一个元素设置格式:

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ??????div:first-letter {color:red} ???</style></head><body><div > ?我是好人</div></body></html>

  

  before  标签:before {属性; }

  在标签内的元素前进行操作

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????#d1:before { ???????content:"*"; ???????color:red; ???????}
    
???</style></head><body><div > ?我是好人</div></body></html>

  

  after  标签:after {属性;}

    在标签的元素之后进行操作,插入内容

 ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????#d1:before { ???????content:"*"; ???????color:red; ???????} ???????#d1:after { ???????content:"[*]"; ???????color:green; ???????} ???</style></head><body><div > ?我是好人</div></body></html>

css选择器的优先级

  选择器相同时,后面的标签优先级高(后面的覆盖前面的)

  选择器不同时:

  继承的权重为 0 (指嵌套在父标签内的标签)

  注意:内联样式是指,直接在标签内通过style进行属性操作 例: <div class=‘c1‘ style=‘color:red‘>红色</div>

  在计算选择器优先级时,先看选择器的优先级,优先级别更高的选择器,优先级更高,在优先级别相同时

  权重和大的,优先级别更高.

  此外 ,还可以通过添加import方式来强制让样式生效,不推荐使用,若过多使用,回事样式文件混乱不易维护(在

  属性后加 !import;)

css属性相关

  高和宽

  只有块级标签才能设置(行内标签只能依靠行元内元素的宽和高,块级标签可以独占一行,因此可以设置.)

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????div { ???????????height :200px; ???????????weight:205px; ???????????background-color:red; ???????????} ???????span { ???????????height :200px; ???????????weight:205px; ???????????background-color:green; ???????????} ??<!--行内标签,只是改变了元素背景颜色和高依然取决于元素的宽高--> ???</style></head><body><div > ?我是好人</div><span> ???我也是好人</span></body></html>

  字体属性

    font-family可以把多个字体名称作为一个‘回退‘系统来保存.如果浏览器不支持第一个字体,则会尝试下

    一个.浏览器会使用它可识别的第一个值.(若全都不支持,则会选择浏览器系统默认字体)

    

body { ???font-family:‘微软雅黑‘,‘宋体‘,‘Arial‘}

  字体大小  font-size

p { ??? ???}

  如果设置成inherit表示继承父元素的字体大小值.

  字重(粗细)

 ???<title>Title</title> ???<style> ???????div { ???????????font-weight:bold; ??<!--在原基础上变得更粗--> ???????????height :200px; ???????????weight:205px; ???????????background-color:red; ???????????} ???</style></head><body><div > ?我是好人</div></body></html>

  文本颜色

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????div { ???????????font-weight:bold; ???????????color:red; ?<!--可以用颜色名称--> ???????????} ???????span { ???????????background-color:red; ???????????color:#FFFFFF; ?<!--可以用十六进制(两辆一组,一样时,可以简写成#FFF
       } ???????#d2 { ???????????color:rgb(0,0,255); <!--可以用红绿蓝三基色,搭配,取值范围是0~255-->
       } ???</style></head><body><div > ???我是好人</div><span> ???我也是好人</span><div > ???彼此彼此</div></body></html>

  color :rgba(255,255,255,0.4)  a指的是透明度比率,取值范围是0~1 ,是在rgb上进行属性设置.

 文字属性

  文字对齐

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????div { ???????????font-weight:bold; ???????????text-align:center; ???????????color:red;} ???????span { ???????????background-color:red; ???????????text-align:right;  <!--对行内标签不生效--> ???????????color:#FFFFFF;} ???????#d2 { ???????????text-align:right; ???????????color:rgba(0,255,0,0.7);} ???</style></head><body><div > ???我是好人</div><span> ???我也是好人</span><div > ???彼此彼此</div></body></html>

  文字装饰

  

  注意:none指的是消去下划线 ; line-through 穿过元素,类似于删除形式 ; overline 在元素上方划线.

  首行缩进  text-indent

  将段落的第一行缩进单位是像素

  

p { ???text-indent:32px ???}

背景属性

/*背景颜色*/background-color: red;/*背景图片*/background-image: url(‘1.jpg‘);/* 背景重复 repeat(默认):背景图片平铺排满整个网页 repeat-x:背景图片只在水平方向上平铺 repeat-y:背景图片只在垂直方向上平铺 no-repeat:背景图片不平铺*/background-repeat: no-repeat; /*背景位置*/background-position: right top;/*background-position: 200px 200px;*/

  鼠标滚动背景不动的例子

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<meta name="viewport" content="width=device-width, initial-scale=1.0"> ???<meta http-equiv="X-UA-Compatible" content="ie=edge"> ???<title>滚动背景图示例</title> ???<style> ???????* { ???????????margin: 0; ???????} ???????.box { ???????????width: 100%; ???????????height: 500px; ???????????background: url("https://www.luffycity.com/static/img/width-bank.1c9d1b0.png") no-repeat center center; ???????????background-attachment: fixed;  <!--背景图片固定不动的参数--> ???????} ???????.d1 { ???????????height: 500px; ???????????background-color: tomato; ???????} ???????.d2 { ???????????height: 500px; ???????????background-color: steelblue; ???????} ???????.d3 { ???????????height: 500px; ???????????background-color: mediumorchid; ???????} ???</style></head><body> ???<div ></div> ???<div ></div> ???<div ></div> ???<div ></div></body></html>

边框  

  边框属性

  • border-width
  • border-style
  • border-color
#i1 { ?border-width: 2px; ?border-style: solid; ?border-color: red;
  <!--border-top:2px 指上边框-->

  通常使用简写方式:

#i1 { ?border: 2px solid red;}

  边框样式:

  border-radius

  用这个属性能实现圆角边框的效果.

  将border-radius设置为长或高的一半即可得到一个圆形.

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>圆形</title> ???<style> ???????div { ???????????width:150px; ???????????height:150px; ???????????border:5px solid green; ???????????border-radius: 50%;<!--也可以设置像素数精确地调弧度--> ???????} ???</style></head><body><div ></div></body></html>

  display属性  用于控制HTML元素的显示效果.

  display:‘block‘  可以让行级标签拥有块级标签的特性,如:宽度 高度等.

  display:‘inline-block‘ 既可以在一行显示,又拥有宽度和高度.

盒子模型

  content 指的是内容本身的长宽 ; padding指的是内容与边框之间的区域,也可以叫内边距 ;

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>圆形</title> ???<style> ???????div { ???????????width:150px; ???????????height:150px; ???????????border:5px solid green; ???????????border-radius: 50%; ???????????margin:20px; ???????????padding-right:30px; ???????????padding-left:35px; ???<!--可以对上下左右分别操作--> ???????????content:35%; ???????} ???</style></head><body><div ></div></body></html>

  也可以简写  padding:20px 30px; 指的是上下20,左右30.

         padding: 15px 20px 25px 指的是上15像素 左右20像素 下30像素

         padding:10px 20px 25px 30px 指的是上,右,下,左(顺时针方向)

  常见居中  margin :10px auto 居中

   注意 body{ margin:0} 在浏览器中使body外边距为0 .

  浮动  float  

  在 CSS 中,任何元素都可以浮动。

  浮动元素会生成一个块级框,而不论它本身是何种元素。

  left 向左浮动 ; right :向右浮动 : none:默认值 ,不浮动.

  关于浮动的两个特点:

  • 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
  • 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????body {margin: 0} ???????.left { ???????????background-color:green; ???????????height:600px; ???????????width:20%; ???????????float : left; ??<!--div为块内标签,若不向左浮动,则会仍占据一行--> ???????????} ???????.right{ ???????????background-color: red; ???????????height: 600px; ???????????width: 80%; ???????????float:right; ???<!--向右浮动,遇到body标签边框,再向上浮动--> ???????????} ???</style></head><body><div> ???<div > ???</div> ???<div > ???</div></div></body></html>

  浮动的副作用

  浮动后的元素相当于浮起来,不占用页面空间,他下面的元素就会占用浮动前该元素的页面空间,

  

  clear (解决浮动的副作用)

  用clear解决(自己目前也解决不了)

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>清除浮动</title> ???<style> ???????.d2 { ???????????height:30px; ???????????width:20px; ???????????blockground-color:red; ???????????border:1px solid yellow; ???????????float:left; ???????????} ???????.d3 { ???????????height:100px; ???????????width:650px; ???????????border:2px solid green; ???????????float:right; ???????????} ???</style></head><body><div > ???<div ></div> ???<div ></div> ???<div  style="clear:left"></div> ??<!--左侧不允许有浮动,--> ???<!--div为块内标签,虽然没有元素,但仍占一行,它不能影响别的标签,只能实现自己的左右端是否有浮动--></div><div ></div> </body></html>

  

  用伪元素选择器解决(自己目前也理解不了)

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>清除浮动</title> ???<style> ???????.d2 { ???????????height:30px; ???????????width:20px; ???????????blockground-color:red; ???????????border:1px solid yellow; ???????????float:left; ???????????} ???????.d3 { ???????????height:100px; ???????????width:650px; ???????????border:2px solid green; ???????????float:right; ???????????} ???????.d1:after { ???????????content:‘‘; ???????????clear:left; ???????????display:block; ???????????} ???</style></head><body><div > ???<div ></div> ???<div ></div></div><div ></div></body></html>

  溢出 overflow

  溢出的情况:

<!DOCTYPE html><html lang="zh-CN"><head> ???<meta charset="UTF-8"> ???<title>Title</title> ???<style> ???????.c1 { ???????????width:30px; ???????????height:30px; ???????????border :2px solid red; ???????????} ??<!--边框太小,内容太多,会溢出--> ???</style></head><body><div > ???我是一个粉刷匠粉刷本领强,我要把那新房子,刷的更漂亮,刷了房子又刷墙,刷的会晤忙,哎呀我的小鼻子变呀变了样.</div></body></html>

  圆形头像实例

<!DOCTYPE HTML><html><head> ?<meta charset="UTF-8"> ?<meta http-equiv="x-ua-compatible" content="IE=edge"> ?<meta name="viewport" content="width=device-width, initial-scale=1"> ?<title>圆形的头像示例</title> ?<style> ???* { ?????margin: 0; ?????padding: 0; ?????background-color: #eeeeee; ???} ???.header-img { ?????width: 150px; ?????height: 150px; ?????border: 3px solid white; ?????border-radius: 50%; ?????overflow: hidden; ???} ???.header-img>img { ?????max-width: 100%; ???} ?</style></head><body><div > ?<img src="https://q1mi.github.io/Blog/asset/img/head_img.jpg" alt=""></div></body></html>

  定位    position

  static

  固定定位是按照body左上角为参考位置,原有位置空出即脱离正常文档流.

<!DOCTYPE html><html lang="en"><head> ?<meta charset="UTF-8"> ?<meta http-equiv="x-ua-compatible" content="IE=edge"> ?<meta name="viewport" content="width=device-width, initial-scale=1"> ?<title>返回顶部示例</title> ?<style> ???body { ???????margin:0; ???????} ???.d0 { ???????height:100px; ???????width:100px; ???????} ???.d1 { ???????background-color:red; ???????} ???.d2 { ???????background-color:green; ???????position:absolute; ?<!--没有已定位的祖先元素,则选自己最近位置的包含块即body元素,以body元素左上角为参考位置--> ???????left:50px; ?<!--左侧让出50像素--> ???????top:0; ?<!--上方让出0像素,即距离为0,则该标签向上移动,原有位置空出,相当于浮动样式--> ???????} ???.d3 { ???????background-color:blue; ???????position:relative;  <!--相对于原有位置--> ???????left:100px;  <!--左侧让出100像素,但是原有位置仍被占用--> ???????} ?</style></head><body><div ></div><div ></div><div ></div></body></html>

  z-index

  设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上,z-index 仅能在定位元素上奏效.

#d1{ ???z-index:999; ???}
<!DOCTYPE html><html lang="en"><head> ?<meta charset="UTF-8"> ?<meta http-equiv="x-ua-compatible" content="IE=edge"> ?<meta name="viewport" content="width=device-width, initial-scale=1"> ?<title>自定义模态框</title> ?<style> ???.cover { ?????background-color: rgba(0,0,0,0.65); ?????position: fixed; ?????top: 0; ?????right: 0; ?????bottom: 0; ?????left: 0; ?????z-index: 998; ???} ???.modal { ?????background-color: white; ?????position: fixed; ?????width: 600px; ?????height: 400px; ?????left: 50%; ?????top: 50%; ?????margin: -200px 0 0 -300px;  <!--可以是负值--> ?????z-index: 1000; ???} ?</style></head><body><div ></div><div ></div></body></html>

  opacity

  用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。

  与rgba的区别在与rgba只能用于背景颜色,opacity能作用于该标签的所有元素,包括子标签.

<!DOCTYPE html><html lang="en"><head> ?<meta charset="UTF-8"> ?<meta http-equiv="x-ua-compatible" content="IE=edge"> ?<meta name="viewport" content="width=device-width, initial-scale=1"> ?<title>透明度</title> ?<style> ?????.c{ ???????width:100px; ???????height:100px; ???????background-color:red; ???????opacity:0.4; ???????} ?</style></head><body><div ></div><div ></div></body></html>

css

原文地址:https://www.cnblogs.com/panda-pandeyong/p/9568432.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved