web前端的css样式

一、什么是css?

全称:层叠样式表,修饰和美化HTML页面中的元素(静态、动态都可以) element

二、如何用css 

1.基本语法:  选择器{样式1;样式2}   样式:属性名:属性值; 

例子:  h1{color:red;font-size:20px;}

三、在哪里写入css样式?

1.内部样式: <style> 选择器{样式1;样式2}  </style>(写在 html页面中head标签内)               

2.外部样式:在html页面head标签内:  <link href=”css文件地址”>

3.行内样式:在某一个标签内,style=””   <p style=”color:red;”>我是标签</p>备注:优先级 行内样式>内部样式>外部样式

四、css选择器

1.标签元素选择器:  标签名{}

2.类选择器: <p class=”one”>p标签</p>    .one{}

3.id选择器:<p id=”two”>p标签</p> #two{}         (备注:id选择器需要注意:一个html页面中不能有重复的id名字优先级:  标签选择器<class选择器<id选择器)

4.层次选择器:(1)A B{}  选中页面中A标签下的所有B元素(包括孙子)                  例:  ul li{color:red;}   则所有的li标签内容都是红色<ul><li>111</li><li>222</li></ul>

                         (2)A>B{}  选择页面中A标签下儿子辈的B元素                              例:ul>li{color:red;}  ---->第一个的li标签内容是红色<ul><li>111</li><ol><li>222</li></ol></ul>

                         (3)A+B{}  选中A标签相邻的兄弟元素B,且只选中第一个            例: h1+p{color:red;}  ---->  第一个p标签内容变红<h1>我是标题</h1><p>我是段落</p><p>我是段落</p>

                         (4)A~B{}  选中A标签相邻的所有兄弟元素B                                  例: h1~p{color:red;}  ---->  所有p标签内容都变红<h1>我是标题</h1><p>我是段落</p><p>我是段落</p> 

5.结构伪类选择器:(1)A:nth-child(index){}  A代表标签选择器,index代表下标(从1开始计数)

                                (2)A:nth-child(参数){}  参数的值: odd奇数行、even偶数行

                                (3)A:first-child{}  选择第一个A元素

                                (4)A:last-child{}  选择最后一个A元素                                    例: li:first-child{color:red;} ---->第一个li标签内容变红li:last-child{color:red;} ---->最后一个li标签内容变红li:nth-child(3){color:red;} ---->第三个个li标签内容变红li:nth-child(odd){color:red;} ---->奇数行li标签内容变红li:nth-child(even){color:red;} ---->偶数行li标签内容变红<ul>​ <li>111</li>​ <li>222</li>​ <li>333</li>​ <li>444</li>​ <li>555</li>​ </ul>

                               (5)A:hover{}  鼠标滑过A元素后的样式                                   例:  span:hover{color:red;}  ----->当鼠标滑倒span标签上,标签内容变成红色<span>鼠标滑过变成红色</span>

                               (6)a:visited{}  鼠标访问过a标签后的样式例:  a:visited{color:green;} -->当鼠标点击了a标签,a标签颜色变为绿色<a href="https://www.baidu.com">百度</a>

6.属性选择器:(1)A[attr]:  选中带有attr属性的所有A元素

                         (2)A[attr=”B”]: 选择带有attr属性并且值为B的所有A元素

                        (3)A[attr^=”B”]: 选择带有attr属性并且值开头字母为B的所有A元素

                        (4)A[attr$=”B”]: 选择带有attr属性并且值结尾字母为B的所有A元素                例:input[name]{width:200px;height:40px;} ----->选中所有含有name属性的input标签input[name=”username”]{width:200px;height:40px;} ---->选中所有name属性值为username的input标签input[name^=”u”]{width:200px;height:40px;} ---->选中name值首字母为u的input标签input[name$=”x”]{width:200px;height:40px;} ---->选中name值结尾字母为x的input标签<input type=”text” name = “username”><input type=”radio” name = “sex”><input type=”radio” name = “sex”>

总结:1、页面中尽量不要用id选择器

        2、li多用nth-child选择器

        3、在表单获取动态数据时,多用属性选择器

五、css样式 :  选择器{属性:值;}

        1.字体样式(1)font-size:1px;字体大小

                            (2) font-weight:normal; 字体正常大小font-weight:bold; 字体加粗font-weight:bolder  字体更粗

                           (3) font-style: normal;字体风格:正常font-style:italic;字体风格:斜体font-style:oblique;字体风格:倾斜

                           (4)font-family:”宋体”; 字体样式例: span{font-size:20px;}

         2.文本样式:(1)color:颜色;  文本颜色  百度搜索:css颜色对照表  #FFFFFF白色

                              (2)text-align:left或center或right;文本左 居中  右对齐

                              (3)line-height:npx;  文字垂直居中对齐,需要n的值与元素的height相等例: p{width:400px;heigth:40px;text-align:center;  文本水平居中line-height:40px;  文本垂直居中}<p>哈哈哈</p>

                             (4)text-decoration:none(没有线)、underline(下划线)、overline(上划线)、line-through(贯穿线)

                             (5)letter-spacing:1em;  文字与文字之间的间距

                             (6)text-indent:1em;   文字首行缩进

                             (7)text-shadow:颜色 x轴 y轴 模糊半径;           例:  text-shadow: red 10px 10px 5px; 通常结合文本颜色一起使用color: green;

        3.背景样式:(1)background-color:颜色;  背景颜色

                             (2)background-image: url(图片路径);  背景图片

                             (3)background-repeat: no-repeat(不平铺)、repeat-x(沿x轴平铺)、repeat-y(沿着y轴平铺)

                             (4)background-position:x轴像素、y轴像素;

                             (5)background-size:宽度 高度;  body{background-size:cover;}

                             (6)background:linear-gradient(to 方向,颜色1,颜色2);

         4.鼠标样式:(1)cursor:值;  text文本、wait等待、help帮助、pointer小手、corsshair十字光标                  例:  span{cursor:pointer; ---->鼠标滑倒span标签上,鼠标变成小手}<span>鼠标滑过变样子</span>

        5.盒子模型(1)盒子组成: 元素本身+内边距(padding)+边框(border)+外边距(margin)

                            (2)内边距:padding用法padding-方向:值;  只设置一个方向的内边距padding:值;   只写一个值,设置元素上下左右方向的内边距padding:值1 值2;   写两个值,值1上下方向、值2左右方向padding:值1 值2 值3;   写三个值,值1上方向、值2左右方向、值3下方向padding:值1 值2 值3 值4;  写四个值,分别代表上 右 下 左例: p{padding:10px;   ----->元素本身在上下左右四个方向距离边框都有10像素padding:10px 5px;  ----> 上下方向有10像素,左右方向有5像素padding:5px 6px 7px;---->上5像素,左右距离6像素,下7像素padding:1px 2px 3px 4px;---->上1px、右2px、下3px、左4px}<p>我是段落</p>备注:用来控制元素本身距离边框的距离

                            (3)margin:用法同padding一样备注:margin特殊用法: margin:0 auto; 让元素居中,前提是:此元素有宽度

                            (4)border: 1px solid 颜色;  solid是实线,可替换为:dotted虚线

                            (5)border-raidus:用法同padding一样;  通常设置值为元素的宽高一半,此元素就会变成圆形       

六、浮动与display

1.display用法(1)display:inline;   ----->将元素定义为:行内元素

                        (2)display:block; ----->将元素定义为:块级元素

                        (3)display:inline-block;----->行内元素特性:同行排列、块级元素特性:设置宽高

                        (4)display:none; ----->隐藏元素

2.浮动用法:(1)float:left; ---->让元素左浮动

                     (2)float:right; ---->让元素右浮动

                     (3)浮动特性:当元素浮动时,下一个元素会被覆盖,文本内容、图片内容不会被覆盖例: 浮动不会覆盖文字.html 当多个元素同浮动时,多个元素同行显示,inline-block的特性例: 多个元素浮动同行排列.html 当父级元素宽度为400,子级三个元素宽度总和超过400,那么三个元素在浮动时候, 第三个元素会另起一行例: 父级宽度不够.html 当父级元素宽度为400,子级三个元素宽度总和超过400,第一个元素高度>第二个元 素高度,第三个元素会上不去下不来       

                    (4)父级元素边框塌陷解决办法: 给父级元素设置样式:overflow:hidden; ---->子级元素超出父级元素的部分隐藏overflow:scroll; ---->子级元素超出父级元素的部分滑动滚动条可见

                    (5)清除浮动:clear:left  right  both;

七、定位

1.定位用法: position:值;  值有三个: (1)relative相对定位:元素在文档流里,相对于原来的位置进行移动

                                                          (2)absolute绝对定位注:当元素的父级没有发生定位,此元素会相对于浏览器进行定位移动当元素的父级发生了定位,此元素会相对于父级元素定位移动

                                                         (3)fixed固定定位:元素脱离文档流,相对于浏览器左上角进行移动,跟父级元素彻底无关例:img{ position:relative; left:10px; top:10px;}        图片相对于div向右移动10px,向下移动10px<div><img></div>

八、动画效果

1、属性名:transform

2、属性值:(1) 偏移:translate(xpx,ypx)

(2) 旋转:rotate(ndeg),当旋转角度数为正数,顺时针旋转,负数为逆时针

(3) 缩放:scale(1,1):0~1之间是缩小,1~无穷大是放大

(4) 倾斜:skew(xdeg,ydeg)

九、动画过度

1、属性名:transition

2、 属性值:要过度的css属性名、多少秒内完成效果、时间曲线、延迟时间

十、动画

1、@keyframes 动画名称{from{background:red;}to{background:blue;}}

2、animation:让元素关联动画animation: 动画名称 执行时间 时间曲线 延迟时间;animation-iteration-count:infinite; 默认值为1,动画执行次数,infinite循环播放animation-direction:alternate; 动画下一次播放是否逆向进行 alternate逆向、normal正常animation-play-state:paused; 动画状态:run

posted @ 2021-06-07 22:27  学习一下下吧  阅读(693)  评论(0)    收藏  举报