css
2018-09-18 06:32:41来源:博客园 阅读 ()
一 , 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 id="d1" style="color:green">直接在标签中引用</div> <div id="d2" >选择器加属性</div> <div id="d3">css文件</div> </body> </html>
#d3 {color:red}
HTML用来完成页面的整体结构框架,CSS则是对这些结构或框架进行渲染,使他们更加丰满,JS则是让页面
更加生动,鲜活起来.
而css中的选择器就是选中将要进行渲染操作HTML结构的一种方式,它的作用就是选中目标.
3, 基本选择器(找标签的基本方式)
元素选择器
根据标签的名字找
标签名 {属性} div {}
ID选择器
#id名 {属性} #d1 {}
类选择器
.类名 {属性} .c1 {}
样式类名不要用数字开头,有的浏览器不认,常用数字字母开头 ;
标签中的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 class="类 类选择">类样式标识</div> <div id="p2">ID标识</div> <div class="类 类选择">类样式标识</div> <p>p标签</p> <p>p标签</p> </body> </html>
4, 组合选择器
后代选择器
父标签 后代标签 {属性} div span {}
操作父标签嵌套下的所有与 "后代标签" 名字相同的的后代标签
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div span {color:red} <!--标识选中div标签下的span后代标签>
<!--#d2 span {color:red}-->
</style> </head> <body> <div id="d2" >选择器加属性 <span>儿子标签</span> <!--儿子标签--> <p> <span>孙子标签</span> <!--孙子标签(p标签下的儿子标签)--> </p> </div> <div id="d3">css文件</div> </body> </html>
儿子选择器 父标签>儿子标签 {属性}
对所有标签名为 "父标签" 嵌套下的 "儿子标签" 进行操作.如果"儿子标签" 下仍有嵌套的标签,也包括
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #d2>span {color:red} </style> </head> <body> <div id="d2" >选择器加属性 <span>儿子标签</span> <!--选中的一个相同名字的儿子标签--> <span> <!--选中的另一个相同名字的儿子标签--> <span>span孙子标签</span> <!--该儿子标签下的孙子标签--> <div>div孙子</div> <!--该儿子标签下的另一孙子标签,与选中的儿子标签的名字不同--> </span> <div> <span> 孙子标签 </span> </div> </div> <div id="d3">css文件</div> </body> </html>
毗邻选择器 标签名+标签名(毗邻标签) {属性}
选中的毗邻标签只能是在 相邻标签的后面的一个,不能是前面,因为程序从上到下执行,不会返回选中.
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #d1+div {color : red} </style> </head> <body> <div>上面的div</div> <div id="d1"> <span> 孙子标签 </span> </div> <div id="d3">下面的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 id="d3">下面的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嵌套名称不一样 <!--没效果 是嵌套关系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 id="d1"> <span class="s1"> <p>三层嵌套</p> </span> </div> <!--有效果--> </body> </html>
伪类选择器
a和input 标签的特有操作
/* 未访问的链接 */ a:link { color: #FF0000 } /* 已访问的链接 */ a:visited { color: #00FF00 /*被操作过的对象会变色*/ } /* 鼠标移动到链接上 */ a:hover { color: #FF00FF } /* 选定的链接 */ a:active { color: #0000FF /*光标点击会标色,移走则选中*/ } /*input输入框获取焦点时样式(获取光标)*/ input:focus { outline: none; background-color: #eee; / background-color:rgba(10,100,101,0.2);(背景也可以用rgba,被透明化.骚操作.) }
伪元素选择器
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 id="d1"> 我是好人 </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 id="d1"> 我是好人 </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 id="d1"> 我是好人 </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 id="d1"> 我是好人 </div> <span> 我也是好人 </span> </body> </html>
字体属性
font-family可以把多个字体名称作为一个'回退'系统来保存.如果浏览器不支持第一个字体,则会尝试下
一个.浏览器会使用它可识别的第一个值.(若全都不支持,则会选择浏览器系统默认字体)
body {
font-family:'微软雅黑','宋体','Arial'}
字体大小 font-size
p {
font-size:15px;
}
如果设置成inherit表示继承父元素的字体大小值.
字重(粗细)
<title>Title</title> <style> div { font-weight:bold; <!--在原基础上变得更粗--> height :200px; weight:205px; background-color:red; } </style> </head> <body> <div id="d1"> 我是好人 </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 id="d1"> 我是好人 </div> <span> 我也是好人 </span> <div id="d2"> 彼此彼此 </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 id="d1"> 我是好人 </div> <span> 我也是好人 </span> <div id="d2"> 彼此彼此 </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; b.ackground-color: tomato; } .d2 { height: 500px; background-color: steelblue; } .d3 { height: 500px; background-color: mediumorchid; } </style> </head> <body> <div class="d1"></div> <div class="box"></div> <div class="d2"></div> <div class="d3"></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 class="d1"> </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 class="d1"> </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 class="left"> </div> <div class="right"> </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 class="d1"> <div class="d2"></div> <div class="d2"></div> <div class="d4" style="clear:left"></div> <!--左侧不允许有浮动,--> <!--div为块内标签,虽然没有元素,但仍占一行,它不能影响别的标签,只能实现自己的左右端是否有浮动--> </div> <div class="d3"></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 class="d1"> <div class="d2"></div> <div class="d2"></div> </div> <div class="d3"></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 class="c1"> 我是一个粉刷匠粉刷本领强,我要把那新房子,刷的更漂亮,刷了房子又刷墙,刷的会晤忙,哎呀我的小鼻子变呀变了样. </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 class="header-img"> <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 class="d0 d1"></div> <div class="d0 d2"></div> <div class="d0 d3"></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 class="cover"></div> <div class="modal"></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 class="c"></div> <div class="m"></div> </body> </html>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash