学起来 —— CSS 入门基础

Hello,大家好!

小女来更博啦!CSS福利送上~~~

首先给大家介绍一下CSS到底是什么?

一、CSS概念



W3C规范中,要求有三条:一 为“两个分离”,二 为语言遵循语义化,三 为代码书写规范性。其中要求的第一条“两个分离”指的是内容与表现分离以及内容与行为分离,而其中的“表现”指的就是CSS。CSS全称Cascading Style Sheets,中文名为层叠样式表,是一种用来表现HTML等文件样式的计算机语言,可以给HTML带来更多更精彩的表现形式。

二、CSS引入的三种方式



1、行内样式表

直接在HTML标签中,使用style=""的方式引用;

eg. <div style="height: 30px;"></div>

优点:优先级最高;使用灵活。 缺点:不符合W3C关于内容与表现分离的要求,不利于样式复用;

2、内部样式表

在 <head></head>标签中,使用style标签包裹CSS代码。

 <head>
        <style type="text/css" >
        </style>
</head>

特点:一定程度上实现了HTML与CSS的分离。但是分离不够彻底,没办法实现多页面共用样式。

3、外部样式表

将css单独写入css文件中,并与HTML文件关联。

【导入CSS文件的两种方式】

① 在head标签中,使用link链接。

eg. <link rel="stylesheet" type="text/css" href="css/01-CSS.css" />

② 在style标签中,使用@import 导入。

eg. @import url("css/02-CSS导入方式和优先级");

优点:彻底实现HTML与CSS 的分离,符合W3C的规范,有利于多页面复用,统一样式。常用link方式引入。

 三、CSS常用选择器



<1> 通用选择器

1.写法:*{}

2.优先级:最低

<2> 标签选择器

1.写法:标签名{}

2.作用:根据选择器名称,选中页面中所有的HTML标签。

<3> 类选择器(class选择器)

1.写法:.class名{}

调用:在HTML标签中,使用class="class名称"调用选择器;

2.优先级: class选择器 > 标签选择器;

<4> ID选择器

1.写法:#ID名{}

调用:在HTML标签中,使用id="id名"调用选择器;

2.优先级:ID > class > 标签选择器 ;

3.同名id只能有一个;

<style type="text/css" >
    *{
        color: pink;
        background-color: darkgrey;
      }
    li{
        color: red;
     }

    .li01{
        color: blue;
        }
    #first{
        color: green;
         }
</style>

<5> 交集选择器

1.写法:选择器1选择器2选择器3......{}

多个选择器之间紧挨着,没有任何分隔;

2.生效规则:一个标签要满足交集选择器,则必须满足交集选择器中出现的所有选择器;

<6> 并集选择器

1.写法:选择器1,选择器2,选择器3,...,选择器n{}

选择器之间,用 逗号 分割

2.生效规则:只要满足并集选择器中的任何一个,就能生效。

<7> 后代选择器

1.写法: 选择器1 选择器2 ... 选择器n{}

选择器之间,用 空格 分割

2.生效规则:必须满足后一个选择器是前一个选择器的后代,才会生效。

<8> 子代选择器

1.写法:选择器1>选择器2>...选择器n{}

选择器之间,用 > 分割

2.必须满足后一个选择器是前一个选择器的直接子代,才会生效。不能隔代,即中间包含其他标签,不会生效。

#first.li01{
        color:  deepskyblue;
    }
#first,.li01{
        color: deeppink;
    }
ul li{
        color: darkorange;
    }
div>ul>.li01{
        background-color: deepskyblue;
    } 

<9> 选择器的命名规则

① 只能由字母、数字、下划线、减号组成;

② 开头不能是数字;减号也不能单个独立存在,多个减号可以。

<10> 选择器的优先级

1. 第一原则:近者优先。作用于最里层的选择器,生效;

2. 当作用于同一层时,

每一种选择器所占优先级,可以进行运算获得:

标签选择器占权重为1

class选择器占比重为10

id选择器占比重为100

行内样式表 style=""占权重为1000

eg.  .div1 #div2 div .div4 #li{}           //221

.div1 .div2 #div #div4 #li{}       //320

【注】只有交集、后代、子代选择器才参与权重的累加!而并集选择器相当于写了多个选择器,没有总优先级!

eg.    #div,.div{} 并集选择器相当于两个选择器,分别是10,100

3. 如果计算出的优先级完全相同,则后写的选择器生效;

eg.  #div.div{}

.div#div{}

两者的优先级都是110,所有后写的选择器生效。

四、 CSS常用文本属性

1. 字体、字号类

font-style: 设置斜体; italic倾斜 normal正常;

font-weight: 字体粗细; bold加粗、normal正常、lighter变细;也可以通过100~900数值设置;

font-size: 字体大小; 可以使用像素(px)、 百分比(%)或者 em,其中浏览器默认16px;

字号: 200% 表示 浏览器默认大小(16px)的两倍= 32px

font-family: "微软雅黑" ,"幼圆", "隶书" ,"宋体", "黑体" ,sans-serif;

设置字体,多个字体之间用逗号分隔。

font-variant: small-caps; 大写变大,小写变小。

<style type="text/css">
        .div{
            width: 500px;height: 500px;
            color: #000000;
            background-color: rgba(255,0,222,0.3);
            }
        .div{
            font-weight: lighter;
            font-style: italic;
            font-size: 30px;
            font-family:"宋体","黑体","微软雅黑","幼圆","隶书",sans-serif;
            font-variant: small-caps;
            font:75%/1.5 arial "微软雅黑",sans-serif;
            }
</style>    

2. 字体颜色类

(1) color:字体颜色;

(2) opacity:透明度,可选值0-1;1-不透明。0-全透明。

【CSS中的颜色单位】

① 使用颜色英文表示:red/green/blue 红绿蓝

② 使用十六进制表示:#ffffff #000 #000000 黑色

③ 使用rgb(255,255,0)三个数值分别表示red、green、blue,范围是0~255

rgba 第四位表示透明度,范围0~1 其中0-全透明;1-不透明

【rgba和opacity的区别】

rgba本身可以设置颜色,而opacity必须配合其他颜色属性使用

rgba 仅仅让当前元素设置的颜色透明;而opacity会让当前元素里面的所有文字、背景、子元素都透明。

3、行距、对齐类

(1)line-height:行高;可以写px单位、可以直接写数字(表示默认行距的几倍)、可以写%(表示默认行距的百分比);

行高的作用:让单行文字在div中垂直居中,设置行高=div的高度,可以使单行文字垂直居中;

(2)text-align:设置区域内的行级元素的水平对齐方式(left、right和center)

(3)letter-spacing:字符间距,字与字之间的距离。

(4)text-decoration: 下划线

去掉超链接的下划线: text-decoration: none;

(5)overflow: 设置超出区域的文字显示方式;

(6)text-overflow: 设置行末多余文字的显示方式 (不能单独用)需配合 white-space: nowrap; (文字不断行)一起使用!

(7)white-space: nowrap; 设置中文行末,不断行显示。

(8)text-indent:  首行缩进

(9)-webkit-text-stroke: 1px; 文字描边

【注】-webkit :表示只有webkit内核浏览器上 才能生效。如chrome;

(10) text-shadow 阴影 text-shadow:5px 10px 0px yellow ;

五、CSS 常用背景属性

1、background-color:背景色

2、background-image:背景图 两者同时存在。背景图覆盖背景色。

3、background-repeat: repeat:平铺; no-repeat:不平铺; repeat-x:x轴 平铺(一行) repeat-y:y轴 平铺(一列)

4、background-size:背景图大小;

【指定宽度高度】 可以写px,也可以写%(父容器宽高的百分比)当写两个属性时:表示宽和高当写一个属性时:表示宽度,高度将会等比缩放。

5、background-position: right bottom; 背景图片偏移量

eg. background-position: right bottom;

eg. background-position: 50px 50px;   /*与左上角位置比较, 图片向右移50px/向下移50px*/  左负右正、上负下正

eg.background-position: 30%;    水平方向去掉图片宽度,剩余区域 左边:右边 = 3:7

六、CSS盒模型

<1> margin: 200px;外边距

① 只写一个值:表示四周外边距均为指定值。

② 写两个值:第一个数上下外边距,第二个数左右外边距。

③ 写三个值:表示上右下,左边默认等于右边。

④ 写四个值:表示上右下左四条边顺时针方向。

⑤ margin:0 auto;设置块级元素在父容器中水平居中。

【区别】text-align: center; 是将块级div中的文字关于该块级div标签水平居中。

<2> padding: 100px; 内边距   设置方式与margin完全相同。

【注】但是,使用内边距会把div区域撑大,使用时必须注意div实际宽高为多大!

<3> border: 10px solid #0000FF;边框 dotted - 虚线 solid - 实线

① 设置边框需要三个属性:原则上三个属性缺一不可,顺序不可随意修改

② 可以使用top、right、bottom、left分别设置四个边!

<4> border-radius 圆角 eg.  border-radius: 20px 50px 20px 50px/20px 50px 20px 50px;

<5> border-image 图片边框  eg.  -webkit-border-image: url(img/008.png) 27/27px stretch; 拉伸

【注意】第二个值图片的切片宽度写的时候不能带px单位!第三个值边框的宽度写的时候必须带px单位,与切片宽度用 / 分隔!类似于 font-size/line-height

<6> box-shadow 盒子阴影  eg.  box-shadow:20px 20px 20px 10px red inset ; 内阴影

<7> outline 外围线  显示在border外面, 并且不会占据空间。可能会覆盖四周内容。

<8> 手动设置盒子类型

box-sizing: border-box; 怪异(IE)盒子[

设置的宽度和高度,包含content+padding+border

];

box-sizing: content-box; 标准盒子[设置的宽度和高度,仅仅包含content部分]; 默认效果。

七、CSS定位

<1> 相对定位

1、使用position: relative ;设置元素为相对定位元素

使用top right bottom left调整元素的位置

2、当left 和right同时存在时,left生效; 当top 和bottom同时存在时,top生效 。

<head>
    <meta charset="UTF-8">
    <title>CSS 定位</title>
    <style type="text/css">
        #div1-1{
                width: 200px;
            height: 200px;
            background-color: red;
            position: relative ;
            top: 100px;        /*距离原来位置的上边100px  top生效*/
            bottom: 200px;
            right: 200px;
            left: 100px;     /*距离原来位置的左边100px   left生效*/
            z-index: -1;
        }
        #div1-2{
            width: 200px;
            height: 200px;
            background-color: yellow;
            position: relative;
            z-index: 0;
       }
           </style>
</head>

3、定位机制:

① 相对定位是相对于自己原来的位置定位,当top等属性不指定时,元素位置不发生改变;

② 相对定位不会释放元素在原有文档流中的位置,也不会影响其他文档流元素位置。

4、关于元素z轴重叠:

① 定位元素,默认的z轴高于普通文档流元素。

② 同为定位元素,后来者居上,即后面盖住前面。

③ 使用 z-index 手动调节定位元素的上下层z轴顺序。z-index 默认0,而且只能作用于定位元素

<2> 绝对定位

1、使用 position: absolute; 设置元素为绝对定位

2、定位机制:

① 相对于第一个使用了relative、absolute、fixed(进行了定位的)定位的祖先元素进行定位

② 如果所有的祖先元素都未定位,则相对于浏览器左上角进行定位。

③ 使用absolute的元素,会从文档类中完全删除,原有空间会被释放。

#div2{
        width: 500px;
        height: 500px;
        background-color: blue;
        margin: 0 auto;
        position: relative;     /* 目的:将绝对定位div2-1的位置限制于div2中*/
    }

#div2-1{
        width: 200px;
        height: 200px;
        background-color: red;
        position: absolute;
        left: 100px;
        top: 100px;
    }    

   <3> 固定定位

1、固定定位使用 position=fixed; 设置固定位置

2、固定定位,是一种特殊的绝对定位!只是祖先元素无法使用定位锁住;

3、定位机制: 永远相对于浏览器左上角进行定位,而且不随滚动条的滚动而滚动。

     <4> z-index 属性

1、作用:根据其设置的数值,决定元素在z轴方向上的层叠次序;

2、使用要求:

(1)z-index 只能给 定位元素(relative、absolute、fixed)调整层叠次序;

(2)z-index 要考虑父容器的 z-index 的约束,

① 如果父容器设置的 z-index 的属性,则子容器的所有元素,将不能脱离父容器层次的约束。(即,父容器设置了z-index,则子容器只能以父容器的数值为准; 再给子容器设置z-index,只能调整子容器在父容器之内的层叠顺序)

② 如果父容器没有设置z-index,或者设置为z-index:auto;则子容器调整z-index将不受父容器层次约束。

3、【 z-index:auto;和z-index:0;异同 】

① z-index: auto;是默认值,与 z-index: 0;处于同一平面;

② z-index: 0;会约束子元素必须与父元素在同一平面;z-index: auto; 不会约束子元素层次。

#div3{
        width: 200px;
        height: 200px;
        background-color: red;
        position: relative;
        top: 150px;
        left: 100px;
        /*z-index: auto;  */          /*设置 auto与设置为数值的区别*/
        z-index: 0;
    }
#div3-1{
        width: 100px;
        height: 100px;
        background-color: yellow;
        position: relative;
        z-index: 10;
    }
#div3-2{
        width: 150px;
        height: 150px;
        background-color: blue;
        position: relative;
    }    

效果图附上

<5> clip 属性

1、作用:用于裁切图片标签,显示图片指定区域;

2、使用要求: 只能作用于有 absolute 或 fixed 定位的图片标签上;

3、clip属性,接受一个rect()函数,函数传入四个值,分别表示上右下左四条切线位置;

【注意】 与其他属性不同的是,rect中的四个值,上下两个值的距离都是从上边量取的,左右两个值的距离都是从左边量取的

      <6> CSS 负边距的使用

1、实现块级元素在父容器中水平垂直居中 【如何实现定位元素居中】

① 设置子容器为定位元素;

② left: 50%; margin-left: -width/2;

top: 50%; margin-top:-height/2;

2、使用负边距增大元素宽度

① 子容器的宽度,不指定;只指定高度、或者有内容撑开高度;

② margin: 0px -50px;可以使左右两边超出父容器50px。

八、后记

        今天的CSS内容就更新到这里了~~~这些都是CSS最基础的内容~~~大家有需要可以收藏呦~

 

        

时间: 2024-10-11 04:51:46

学起来 —— CSS 入门基础的相关文章

CSS入门基础学习二

我们下午继续学习CSS的入门基础,搬上你的小板凳赶快进入吧! 一.背景(background) Background-color:背景颜色 background-image (背景图片) background-repeat(设置背景平铺)  repeat (默认值) no-repeat (不平铺) repeat-x  (横向平铺) repeat-y (纵向平铺) background-position (设置背景位置) 设置具体值: left| right| top| bottom| cnete

css入门基础详细教程

1首先在 webroot文件夹下新建一个css文件 可以命名为style.css.效果图如下: 2 jsp引用css文件 <head> <title>显示</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> 3 css文件的格式 Css规则主要由选择器和声明组成.声明由属性和值组成.一条规则

CSS入门基础

认识CSS 传统HTML设计网页版面的缺点 CSS的特点 CSS的排版样式 13.1 认识CSS CSS的英文全名是Cascading Style Sheets,中文可翻译为串接式排版样式,并且CSS2规范也于1998年02月通过W3C的审核与推荐,所以CSS并不是专为XHTML所设计的,CSS还可以被其他标记语言拿来制作排版样本,如HTML,XML文件都可以应用CSS,来美化网页的设计,大家如果学会CSS,在HTML,XHTML,XML文件中都可以使用. 13.2     传统HTML设计网页

css入门基础知识

一.CSS常用选择器 /*CSS注释*/ /*CSS修改页面中的所有标签必须借助选择器选中. 选择器中可以写多对CSS属性:每个属性名与属性值之间用:分隔,多对属性之间,必须用;分隔 选择器{ 属性1:属性值; 属性2:属性值;   必须用英文英文!!!!! } 页面中,所有的css代码,需要写到<style></style>标签中,style标签的type属性应该选择text/css,但是type属性可以省略 [css常用选择器] 1.标签选择器 1 写法:HTML标签名{ 作用

HTML中CSS入门基础

HTML.CSS 实用css有三种格式:内嵌:内联:外部: 分类:内联:写在标记的属性位置,优先级最高,重用性最差内嵌:写在页面的head中,优先级第二,重用性一般外部:写在一个以css结尾的文件中,通过引用来建立文件与html页面的关系,优先级最低,但是最灵活最好用,重用性最好. 经常用的就是内联和外部.外部的话需要引用. 选择器: id选择器:#id,优先级最高,只能选中一个元素class选择器:.class,优先级第二,能选中一堆元素标签选择器:标签名 div span ,优先级最低,能选

我要学python之入门基础

前言 我最近打算全面深入学习python.而最早我接触Python是在2015年,到现在2018年已经三年多了,但我自己回想起来关于Python的知识不够系统,也很乱,那个时候只是停留在能够用Python完成任务,随着使用过得的语言越来越多,也随着Python越来越流行,我觉得现在有必要重头系统化的学习Python这门语言. python起源 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的

小白学 Python 爬虫(40):爬虫框架 Scrapy 入门基础(七)对接 Selenium 实战

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

零基础学编程:零基础学HTML+CSS (第3版) 完整pdf扫描版

零基础学编程:零基础学HTML+CSS(第3版)站在零基础学习的角度,以通俗易懂的语言,结合丰富多彩的实例,来帮助初学者学习和掌握HTML语言和CSS样式设计.本书列举了大量的小型实例.综合实例,并包含3个项目案例,内容详尽.实例丰富.叙述清晰.本书主要分为四篇:第一篇为第1-9章,讲解了网页文字.字体.表格.段落.超级链接.图像.表单.框架.多媒体等技术:第二篇为第10-11章,对DIV+CSS的语法和相关属性进行了详细的解释和说明:第三篇为第12~20章,详细介绍了CSS的字体.文本.背景.

小白学 Python 爬虫(37):爬虫框架 Scrapy 入门基础(五) Spider Middleware

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基