CSS第一天

12345huangchun 2018-12-14 原文

CSS第一天

  一、定义

  CSS:层叠样式表,用来美化页面

  二、书写位置(即引入方式)

  1,内嵌式,写在head标签下的style标签内部

  2,外联式,同样写在head标签内部,但是用的是link标签,逻辑是写在外部的CSS文件里的

  3,行内式,写在元素的style属性中

  三、语法结构

   选择器{
            属性:值;
        }

  四、选择器分类

  1,标签选择器

  div{
            color: red;
        }
以标签名为选择器名,这样写可以控制所有这类标签的样式

  2,类(class)选择器(最常用)

 .tt{
            color: blue;
        }
 <div class="tt">hhhhhhdsd</div>
 <div class="tt">sdasdasd</div>
 <p class="tt">dhsdhsjh</p>
 <a href="#" class="tt">sdsad</a>
.类名为选择器名,会选择整个页面上类名相同的标签,一个标签里可以写多个类

  3,id选择器

    #ss{
            color: blue;
        }
<div id="ss">nihao a </div>
#id名为选择器,根据id找到标签

  4,通配符选择器

   *{
           color: blue;
       }
*可以选择所有元素进行样式控制

  5,后代选择器(子孙都可以)

   div p{
           color: blue;
       }
<div>
        <p>
            <a href="#">kkk</a>
            <a href="#">ksas</a>
        </p>
        <a href="#">jjj
        <p>kdlsdk</p></a>
    </div>
div p用空格隔开,可以控制所有div标签下的所有p标签,选择器用空格隔开,后面的选择器必须要在前面的选择器里有的

  6,子代选择器(只有儿子可以)

 div>p{
           color: blue;
       }
 <div>
        <p>
            <a href="#">kkk</a>
            <a href="#">ksas</a>
        </p>
        <a href="#">jjj
            <p>kdlsdk</p>
        </a>
    </div>
div>p用‘>’隔开,只会选择div标签下的第一层中p标签,于是a标签的下p标签是不会被选中的

  7,毗邻选择器

 div+p{
            color: red;
        }
  <p id="p1">dsdasdada</p>
  <div>kkkkk</div>
  <p id="p2">kksdksdk</p>
  <p id="p3">sdaaddjkjdjj</p>
div+p用‘+’加号隔开,只会选择id为p2的p标签

  8,弟弟选择器

  div~p{
            color: red;
        }
 <p id="p1">dsdasdada</p>
 <div>kkkkk</div>
 <p id="p2">kksdksdk</p>
 <p id="p3">sdaaddjkjdjj</p>
 <span>ssss</span>
 <a href="#">dhshdhashd</a>
div~p用‘~’隔开,选择的是div标签后面的所有p标签

  9,交集选择器

 p.p1{
            color: brown;
        }
    <p>jjjjjjjj</p>
    <p class="p1">dsdasdada</p>
    <div>kkkkk</div>
    <p class="p1">kksdksdk</p>
    <p class="p1">sdaaddjkjdjj</p>
    <span>ssss</span>
    <a href="#" class="p1">dhshdhashd</a>
p.p1连着写在一起,会选择既是p标签又是属于p1类的,所以第一个p标签不满足

  10,并集选择器

 a,.p1{
            color: brown;
        }
    <p>jjjjjjjj</p>
    <p class="p1">dsdasdada</p>
    <div>kkkkk</div>
    <p class="p1">kksdksdk</p>
    <p class="p1">sdaaddjkjdjj</p>
    <span>ssss</span>
    <a href="#" class="p1">dhshdhashd</a>
选择器之间以‘,’逗号隔开,会选择满足a标签或者.p1类的

  11,伪类选择器

/* 未访问的链接 */控制a标签
a:link {
  color: #FF0000
}

/* 已访问的链接 */
a:visited {
  color: #00FF00
} 

/* 鼠标移动到链接上 */  这个用的比较多,当鼠标停留在上面时的样式
a:hover {
  color: #FF00FF
} 

/* 选定的链接 */ 就是鼠标点下去还没有抬起来的那个瞬间,可以让它变颜色
a:active {
  color: #0000FF
}

/*input输入框获取焦点时样式*/
input:focus {   #input默认的有个样式,鼠标点进去的时候,input框会变浅蓝色的那么个感觉
  #outline: none;
  background-color: #eee; #框里面的背景色
}

  12,伪元素选择器

#将p标签中的文本的第一个字变颜色变大小
p:first-letter { 
  font-size: 48px;
  color: red;
}
/*在每个<p>元素之前插入内容*/
p:before {
  content:"*";
  color:red;
}
/*在每个<p>元素之后插入内容*/
p:after {
  content:"[?]";
  color:blue;
} 

  五、选择器的优先级

  我们可以通过不同的选择器来选择标签,如果多个选择器选中了同一标签时,该以那个选择器来渲染标签呢?于是就牵扯到选择器的优先级问题。

  1,我们还得有个知识点,当后代没有自己的选择器,会继承父级的样式中的某些属性,比如

 div{
            color: blue;
        }
    <div>
        aasdasdsad
        <p>
            <a href="#">kkkkk</a>
            <span>dasdas</span>
        </p>
        <a href="#">kkdkkdkksk</a>
        <span>rewrrrreerrre</span>
    </div>
此时div标签下的所有标签前的文本颜色都会继承div标签的文本颜色。但注意继承的优先级是最小的。color,text—,font-,line-,cursor可以被继承的
例外:
a标签不继承颜色
h标签不继承font-size,font-weight

  2,选择器的优先级:继承<通配符<标签选择器<class选择器<id选择器<行内样式<!important

  3,选择器权重

  在复合选择器中,如何计算选择器权重,只要出现important,优先级永远是最高的,其次是行内样式

  行内:1000

  id:100

  类:10

  元素:1

  继承:0

  把所有的权重相加,但是永不进位

  六、元素的显示模式

  1,块级元素

display:block
会独自占据一整行,可以设置有效的宽高,子元素默认和父元素一样宽,代表div,h1-h6

  2,行内元素

display:inline
一行上可以显示多个,不能设置有效的宽高,其宽高依赖于内容,代表span,strong,em

  3,行内块级元素

display:inline-block
一行上可以显示多个,可以设置有效的宽高,代表img,input

  我们可以通过display属性来重新设置标签属性

  4,display:none和visibility:hidden的区别

两者都有隐藏的作用
visibility:hidden隐藏的元素仍然占据空间,该元素虽然被隐藏了,但仍然会影响布局
display:none隐藏的某个元素不会占据空间,不会影响布局

  七、font相关属性

font-style:值  控制字体是否斜体
可选值:normal 正常,italic 斜体,oblique 斜体

font-weight:值 控制字体粗细
可选值:normal 正常,bold 加粗,bolder 更粗,lighter 细体
还可以写数值,100-900间,400相当于normal,700相当于bold
bolder和light会受到字体的现在,一般中文到达bold就是最大,并且一般中文没有细体

font-size:值 控制字体大小
值为数字,后面跟上单位px,网页上的默认为16px

font-family:值 控制字体
值为所有字体类型,比如宋体,楷体。。。。

font连写
font:font-weight font-style font-size font-family
前两个可以省略,前两个可以互换位置,后两个只能固定位置,并且不能省略

  八、background相关属性

background-color:值   设置背景颜色
background-image:url(图片的路径) 控制的是背景图片
background-repeat:值 控制背景图片是否重复(平铺)
值可选:no-repeat 不平铺,repeat-y 垂直平铺,repeat-x 水平平铺,repeat 两个方向平铺

background-position:值 控制背景图片的位置
值可选:水平:left center right 垂直:top center bottom
长度赋值:先写x的位移,再写y的位移

background-attachment:值 控制背景图片是否随着滚动条滚动
值可选:scroll 默认的随着滚动条滚动 , fixed 不滚动

background连写
background:red url(图片路径) no-repeat top center 属性没有顺序要求,都可以省略

  九、文本(text)属性

text-align:值   文本的水平对齐方式
值可选:left 左对齐,center 居中对齐,right 右对齐

text-decoration:值 文本修饰
值可选:none 正常,underline 下划线,overline 上划线,line-through 删除线

text-indent:值 文本首行缩进
值为数字加上单位px,单位也可以为em,1em为一个字体大小

  十,边框属性

border-style:值    控制边框的样式
值可选:none 无边框,dotted 点状虚线边框,dashed 矩形虚线边框,solid 实线边框

border-weight:值 设置边框宽多少
值为数字加单位px

border-color:值 设置边框颜色

border连写
border:2px solid red;

除了统一设置边框之外,还可以单独为某一边设置边框
border-top-style:值 ,border-top-color:值 , border-top-weight:值 这是为上边框设置属性,还可以换成right,left,bottom

border-radius:值 用这个属性能实现圆角边框的效果
值可为数字加单位px,当为宽或高的一半时,就为圆形,值还可以为百分数,当为50%时,也为一个圆。两种前提是在正方形下

 

发表于 2018-12-14 22:07 W的一天 阅读() 评论() 编辑 收藏

 

版权声明:本文为12345huangchun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/12345huangchun/p/10121942.html

CSS第一天的更多相关文章

随机推荐

  1. 【知识详解】传输层详解

    传输层详解 1.传输层概述 1.1 概述 TCP隶属于传输层,所以要首先明白传输层的作用是什么,传输层能够实现 […]...

  2. 【大数据】Azkaban学习笔记

    一 概述 1.1 为什么需要工作流调度系统 1)一个完整的数据分析系统通常都是由大量任务单元组成: shell […]...

  3. RMI之由浅入深(一)

    0x01、什么是RMI RMI(Remote Method Invocation)即Java远程方法调用,RM […]...

  4. 大数据运维问题整理

    1、负责公司大数据平台的部署、管理、优化、监控报警,保障平台服务7*24稳定可靠高效运行; 2、深入理解公司大 […]...

  5. JAVA NIO之文件通道

    1.简介 通道是 Java NIO 的核心内容之一,在使用上,通道需和缓存类(ByteBuffer)配合完成读 […]...

  6. 《Linux就该这么学》培训笔记_ch00_认识Linux系统和红帽认证

    《Linux就该这么学》培训笔记_ch00_认识Linux系统和红帽认证 文章最后会post上书本的笔记照片。 […]...

  7. 关于(void**)&的理解

    转来的,照例,祭出原地址~ 因为函数参数是按值传递的,所以要想改变变量,必须传递地址。 二级指针实际上就是指针 […]...

  8. python抓取链家房源信息

    python抓取链家房源信息 闲着没事就抓取了下链家网的房源信息,抓取的是北京二手房的信息情况,然后通过网址进 […]...

展开目录

目录导航