CSS狂神视频学习笔记

1、基本选择器

ID选择器(全局唯一)>类选择器>标签选择器

1.1、ID选择器

ID选择器就是唯一的一个ID

id="xxx"
1.2、类选择器

在标签后面加上class的声明,可以给多个标签归在一个类里面,一起使用这个选择器。

class="xxx"
1.3、标签选择器

通过标签来给与。

2、层次选择器
2.1、后代选择器
body p{
    background:red;
}

上面这个意思是body,他的子代里面所有的p都用这个样式。body可以改成别的id或者别的属性,p也可以换成别的类或是标签。

2.2、子代选择器
body>p{
    background:red;
}

和后代选择器相比,不是全部的p,而是第一代,也就是儿子。

2.3、相邻兄弟选择器
#nav + p{
    background:red;
}

(弟弟选择器,第一个弟弟,不包括弟弟后代)

2.4、通用选择器
#nav ~ p{
    background:red;
}

(全部弟弟,不包括弟弟后代)

3、结构伪类选择器
3.1、选中首/尾子元素

:first-child,:last-child

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
       #list li:first-child {
            background: red;
        }
    </style>
</head>
<body>

<ul id="list">
    <li>one</li>
    <ul>
        <li>列表1</li>
        <li>列表2</li>
    </ul>
    <li>two</li>
    <ul>
        <li>列表3</li>
        <li>列表4</li>
    </ul>
    <li>three</li>
    <ul>
        <li>列表5</li>
        <li>列表6</li>
    </ul>
</ul>
</body>
</html>

在这里插入图片描述

这里面,first就是取ul属性中的第一个li(如果第一个是li),和每一个属性里的第一个li(如果第一个是li)。last同理。

3.2、选中第n个元素

:nth-child(n)按顺序选中父级下的第n个,:nth-of-type(n)选中第n个。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
       #list li:nth-child(2) {
            background: red;
        }
    </style>
</head>
<body>

<ul id="list">
    <li>one</li>
    <ul>
        <li>列表1</li>
        <li>列表2</li>
    </ul>
    <li>two</li>
    <ul>
        <li>列表3</li>
        <li>列表4</li>
    </ul>
    <li>three</li>
    <ul>
        <li>列表5</li>
        <li>列表6</li>
    </ul>
</ul>
</body>
</html>

在这里插入图片描述

这里面,:nth-child(n)就是取ul属性中的数下来的第n个li(如果第n个是li),和每一个属性里的第n个li(如果第n个是li)。:nth-of-type是取ul里面的第n个li和每个属性里的第n个li。(一个是child的一个是type的)

在这里插入图片描述

4、属性选择器

= 等于等号右边

*=包含等号右边

^=以等号右边开头

$=以等号右边结尾

4.1、表达方式
p[id^=kkk]{
    background:red
}
a[class*=links]{
    background:green
}
a[href^=www]{
    background:green
}


<p id="kkkqeywi">one</p>
<p id="kahdia">two</p>
<p id="fasywi">three</p>
<p id="kkkcc">four</p>
<p id="qqrqw">five</p>

<a href="rnm.doc" class="item links">one</a>
<a href="" class="item links sex">two</a>
<a href="www.baidu.com" class="links active">three</a>
<a href="cnm.pdf" class="item active">four</a>

上述代码表示,p元素内,id以kkk开头的标签;a元素内,class含有links的;a元素内,href以www开头的。

5、美化网页
5.1、字体样式

font-family 字体类型

font-size 字体大小

font-weight 字体粗细

color 字体颜色

body{
    font-family:"Arial Black",楷体;
}

字体类型可以一次指定两种,一个中文一个英文。

通过vertical-align:middle可以给i标签设置和文字对齐。

5.2、文本样式

color rgb rgba(a是透明度)颜色

text-align = center 文本居中(左右的中间)

text-decoration 划线样式

text-indent:2em 首行缩进2字节

line-height 行高(行高和边框一样,就可以让文本在上下的中间)

vertical-align = center 垂直居中(多行居中,而不是line-height的单行居中)

5.3、阴影

text-shadow:阴影颜色,水平偏移,竖直偏移,阴影模糊度

text-shadow: red 20px -10px 2px ;

在这里插入图片描述

5.4、超链接伪类
a{
    默认不动他的状态
}

a:hover{鼠标悬停在上面的状态
    color:orange;
    font-size:50px;
}

a:active{鼠标按住的状态
    color:bule;
}
5.5、列表样式

list-style列表前面序号的样子,有/空心圆/正方形等等

5.6、背景

可以直接在background里面按照(颜色,图片,图片坐标,平铺方式)写

background:red url("") 300px 10px repeat-x;

也可以分为background-image(图片)、background-position(图片坐标)、background-repeat(平铺方式)

6、盒子模型

盒子套盒子的样子。外边距边框等等。

pading是盒子内的边距,margin是盒子外的边距

6.1、内外边距

可以把margin设置为auto,通过左右边距相同来达到居中样式。

margin:0 1px 2px 3px,上左下右的顺序,也可以只有一个(全部)和两个(上下和左右)。

6.2、边框

实线solid 1px宽 黑色边框

点线dotted,虚线dashed

border:1px #000 solid;

圆角边框

border-radius:25px;

和边距一样,顺时针填入。也可以只有一个(全部)和两个(左上右下和左下右上)。

<li class="kill-goods">
    <div class="goods_img">
        <a href=""><img src="upload/mobile.png" alt=""></a>
    </div>
    <div class="goods_title">
        <em>Apple苹果iPhone 6s Plus(A1699)32G 金色 移动联通电信4G手机 </em>
    </div>
    <div class="goods_price">
        <strong><em>¥</em>6088.00</strong>
        <span>¥6988</span>
    </div>
    <div class="goods_progress">
        <em>已售87%</em>
        <div class="bar">
            <div class="bar_in"></div>
        </div>
        <em>剩余<span class="style-red">29</span>件</em>
    </div>
    <div class="goods_buy">
        <a href="">立即抢购</a>
    </div>
</li>
6.3、浮动
6.3.1、display(不能选择方向)

display:inline 行元素

display:block 块元素

display:inline-block 行内块元素

6.3.2、float

东西都浮出来,但是父级边框塌陷。

float:right;
float:left;
6.3.3、解决父级边框塌陷
clear:left;	不允许左侧有浮动
clear:right;不允许右侧有浮动
clear:both;	不允许两侧有浮动

1.增加父级边框元素的高度

有固定高度,会被限制,不推荐

#father{
    border:1px solid #000;
    height:800px;
}

2.在父级中的最后加一个空的div标签,并将他的浮动清除

实际中要避免空div,不推荐

.zzz{
    clear:both;
    margin:0;
    padding:0;
}

3.使用overflow

产生滚动条不美观或者有内容可能被裁剪,不推荐

overflow是规定内容溢出区域时怎么做

overflow:hidden;内容被裁剪,其余内容不可见
overflow:scroll;内容被裁剪,滚动条展示其余内容
overflow:auto;如果被修裁剪就滚动条。
#father{
    border:1px solid #000;
    overflow:hidden;
}

4.为父类添加一个伪类

(推荐)

 #father:after{
            content: '';
            display: block;
            clear:both;
        }
7、定位
7.1、相对定位
position:relative;
top:100px;离上端100px
bottom:200px;离下端200px
left:200px;离左端200px
right:100px;离右端100px

相对于原来的位置,进行指定的偏移。

7.2、绝对定位
position:absolute;
top:100px;离上端100px
bottom:200px;离下端200px
left:200px;离左端200px
right:100px;离右端100px

有父级元素就以父级元素定位,没有就相对于浏览器定位。只能在用于定位的元素的范围内进行偏移。不在标准文档流中,原来的位置会被保留。

7.3、固定定位
position:fixed;
top:100px;离上端100px
bottom:200px;离下端200px
left:200px;离左端200px
right:100px;离右端100px

在页面里面,绝对定位的东西滚轮移动他就动了。固定定位则是永远在规定的位置。

7.4、z-index和透明度

z-index就是一种层级的元素,z-index越高,层次越高,两个元素重叠在一起越会显示。

opacity透明度。可以使元素变透明,显示出叠在下面的元素。

8、过渡

过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。

过渡动画: 是从一个状态 渐渐的过渡到另外一个状态

可以让我们页面更好看,更动感十足,虽然 低版本浏览器不支持(ie9以下版本) 但是不会影响页面布局。

我们现在经常和 :hover 一起 搭配使用。

语法格式:

transition: 要过渡的属性  花费时间  运动曲线  何时开始;
属性描述CSS
transition简写属性,用于在一个属性中设置四个过渡属性。3
transition-property规定应用过渡的 CSS 属性的名称。3
transition-duration定义过渡效果花费的时间。默认是 0。3
transition-timing-function规定过渡效果的时间曲线。默认是 “ease”。3
transition-delay规定过渡效果何时开始。默认是 0。3
  • 属性

​ 属性就是你想要变化的 css 属性, 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都变化过渡, 写一个all 就可以。

  • 花费时间

    transition-duration 花费时间 单位是 秒(必须写单位) s ms 比如 0.5s 这个s单位必须写 ms 毫秒

  • 运动曲线 默认是 ease

运动曲线示意图:
在这里插入图片描述

  • 何时开始

    默认是 0s 鼠标触发就立即开始 可以设置 延迟触发时间

案例:

div {
			width: 200px;
			height: 100px;
			background-color: pink;
			/* transition: 要过渡的属性  花费时间  运动曲线  何时开始; */
			transition: width 0.6s ease 0s, height 0.3s ease-in 1s;
			/* transtion 过渡的意思  这句话写到div里面而不是 hover里面 */
  
			
}
div:hover {  /* 鼠标经过盒子,我们的宽度变为400 */

			width: 600px;
			height: 300px
}

transition: all 0.6s;  /* 所有属性都变化用all 就可以了  后面俩个属性可以省略 */

transition: all 0.5s;

常见效果:

按钮变换底色 图片移动 小米效果 (阴影效果) 传智导航栏效果 等等

9、关于hover事件附加边框,盒子变动

延迟触发时间

案例:

div {
			width: 200px;
			height: 100px;
			background-color: pink;
			/* transition: 要过渡的属性  花费时间  运动曲线  何时开始; */
			transition: width 0.6s ease 0s, height 0.3s ease-in 1s;
			/* transtion 过渡的意思  这句话写到div里面而不是 hover里面 */
  
			
}
div:hover {  /* 鼠标经过盒子,我们的宽度变为400 */

			width: 600px;
			height: 300px
}

transition: all 0.6s;  /* 所有属性都变化用all 就可以了  后面俩个属性可以省略 */

transition: all 0.5s;

常见效果:

按钮变换底色 图片移动 小米效果 (阴影效果) 传智导航栏效果 等等

9、关于hover事件附加边框,盒子变动

可以把原来就设置好边框。透明色。再添加事件鼠标移动换色,而非加框。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值