CSS的学习使用

<head>

<meta charset="UTF-8">

<title>CSS常用选择器</title>

<!--HTML注释-->

<style type="text/css">

/*CSS语法必须写在<style>标签中*/

/*CSS注释*/

【锁定】

/*命名:body中table后+id="table" 如<table id="table1"

*写法:之前+#table名 如;#tablle1 td

*作用:防止多个table的重名

*/

/*【选择器命名规范】

* 1、只能有字母、数字、下划线组成

* 2、开头不能是数字

*/

/*【选择器优先级】

* 1、就近原则,近者优先

* 2、当作用于同一层时,可用权重计算

权重划分:标签选择器1

class选择器10

id选择器100

行级样式表style=""1000

例:#first .list li 111

#first .list .list li 121

*/

/*【通用选择器】

* 1、写法:*{ }

* 2、作用:选中页面中的所有HTML标签

* 3、优先级:最低

*/

*{

}

/*【标签选择器】

* 1、写法:HTML标签名{ }

* 2、作用:选中所有对应的HTML标签,并修改其样式

*/

li{

color: red;

font-size: 36px;

}

/*【类选择器class选择器】

* 1、写法:.选择器名{ }

* 2、调用:在需要修改样式的HTML标签上,使用class="选择器名"

* 3、优先级:当作用于同一层时,class选择器>标签选择器

*/

.list{

color: blue;

}

/*【ID选择器】

* 1、写法:#选择器名{}

* 2、调用:在需要修改样式的HTML标签上,使用id="选择器名"

* 3、优先级:同一层时,id选择器>class选择器

* 4、id选择器是唯一的!同一页面严禁出现同名id!!!

*/

#first{

color: green;

}

/*【后代选择器】

* 1、写法:选择器1 选择器2 …… 选择器N{}

* 2、生效规则:选择器N必须是选择器N-1的后代

*

*

* 【子代选择器】

* 1、写法:选择器1>选择器2>……>选择器N{}

* 2、生效规则:选择器N必须是选择器N-1的【直接子代】

* */

div>ul>li{

}

/*【交集选择器】

* 1、写法:选择器1选择器2……选择器N{}

* 2、生效规则:必须同时满足所有选择器,才会生效

*/

li.list#first{

}

/*【并集选择器】

* 1、写法:选择器1,选择器2,……选择器N{}

* 2、生效规则:满足任意一个选择器,均可生效

*/

.list,#first{

color: darkslategray;

}

</style>

<!--

【三种使用CSS的方式】

1、行内样式表:直接在HTML开始标签中使用style=""的方式引用

特点:将CSS代码与HTML代码完全糅杂在一起,不符合W3C关于内容与表现分离的要求,不利于样式复用

优先级:最高

2、内部样式表:在<head></head>中,使用<style type="text/css"></style>方式引用

特点:将CSS代码与HTML代码分离,但是没有彻底分离CSS文件与HTML文件,不利于多页面复用样式

3、外部样式表:使用link标签链接CSS文件

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

特点:实现了CSS与HTML的彻底分离,有利于样式复用几后期维护

-->

</head>

<body>

<div >

<ul>

<li class="list" id="first">这是列表项1</li>

<li>这是列表项2</li>

<li class="list">这是列表项3</li>

<li>这是列表项4</li>

<li class="list">这是列表项5</li>

</ul>

</div>

<ul>

<li class="list" id="first">这是列表项1</li>

<li>这是列表项2</li>

<li class="list">这是列表项3</li>

<li>这是列表项4</li>

<li class="list">这是列表项5</li>

</ul>

</body>

<head>

<meta charset="UTF-8">

<title></title>

.div1{

width: 200px;

height: 200px;

/* [颜色常用单位]

* 十六进制:#ffffff

* 颜色名称:red

* RGB颜色:RGB(255,255,255)

* RGBA:第四位数,表示透明度。可选值0~1

*/

/* [CSS常用文本属性]

* 1、字体、字号:

font-weight:字体的粗细,可选属性值:bold加粗 lighter细体 100~900数值(400正常,700 bold)

font-size:字体大小 **PX **%(浏览器默认字体大小的百分比,绝大部分默认16px)

font-family:字体族,设置字体。

>>>多个字体样式间用逗号分隔,浏览器解析时,会从左往右依次解析,选择可用字体。

>>>一般前面使用具体字体名称,最后一个使用字体族类名称。

(常用字体族名称:衬线体serif 非衬线体sans-serif(常用) 等宽体Monospace)

>>>例如:font-family:Arial, ‘Microsoft Yahei‘, sans-serif;

font-style:字体样式,正常(normal) 斜体(italic)

* font-variant:small-caps; 将字母转为小型大写字体。

(了解)font缩写形式:font-style font-variant font-weight font-size line-height font-family

>>> 使用注意事项 :

① 顺序必须严格按照上述顺序;

② 多个样式之间用空格分割,而且font-size/line-height 必须作为一对用/分割

③ font-size和font-family必须指定,其他样式不指定将采用默认样式显示;

>>> 例如:font:italic bold 75%/1.8 ‘Microsoft Yahei‘, sans-serif;

斜体 加粗 字号/行高 字体族(微软雅黑,非衬线字体族)

2、字体颜色:

color:字体颜色

opacity:透明度,0~1之间的数字。 调整时控件以及子控件均会透明,而使用rgba调整时,只会时本控件透明,

子控件不会发生透明度变化。

3、行距、对齐等:

line-height:行高 ① 像素单位 48px ② 不带px 正常行高的倍数 ③百分数 同2

>>> 典型应用,调整控件中文垂直居中的方式:控件的height=控件的line-height

text-align:块级元素中文字的水平对齐方式 left center right

letter-spacing:字符间距,字与字之间的间距

text-decoration:文本修饰 下划线underline、删除线line-through、上划线overline、none

overflow:控制超出范围文本的显示方式(auto 根据文字多少自动显示滚动条,scroll始终显示滚动条,

hidden 超出范围文本隐藏) 可以通过overflow-x overflow-y分别设置水平垂直方向

text-overflow:设置多余文字的显示方式 clip裁剪掉 ellipsis省略号

>>>【重点】让每行多余文字显示省略号:

① white-space: nowrap; 需设置行末不断行

② overflow: hidden; 设置控件超出范围隐藏

③ text-overflow: ellipsis; 设置多余文本省略号显示

white-space: nowrap; 设置行末不断行显示

word-break: 浏览器默认在空格处断行,当一个单词长度超出范围时,会不断行显示, break-all 允许在单词内换行。

text-shadow:文本阴影,有四个属性值:

①水平阴影距离 必选,数值越大,阴影右移

②垂直阴影距离 必选,数值越大,阴影下移

③阴影模糊距离 可选,数值越大,阴影越模糊。默认为0,不模糊

④阴影颜色 可选,默认为黑色

text-indent:首行缩进,可用像素值调整缩进大小

* text-stroke: -webkit-text-stroke: 0.2px #008000; 描边的粗细,描边的颜色

*/

</head>

/* 【CSS常用背景属性】

background

text-align: left; line-height: 1.75; font-size: 14px;">

background-image:背景图,background-image: url(图片地址相对路径);背景图和背景色同时存在时,背景图会覆盖背景色

background-repeat:背景图重复方式 ,no-repeat不平铺 repeat平铺(默认) repeat-x水平平铺 repeat-y垂直平铺

background-size:背景图大小。

【指定宽度高度】

>>> 宽高的写法,第一个属性值为宽度,第二个属性值为高度,可以:①直接写像素 ②写百分比(父容器宽高的百分比)

>>> 当只有一个属性值时,默认为宽度。高度等比缩放。

当有两个属性值时,会按照指定的高度宽度进行压缩/拉伸显示。

【其他属性值】

>>> contain:图片等比缩放,缩放到宽或高的某一边等于父容器的宽高,另一边按照图片大小缩放(可能导致部分空余区域无法覆盖)

>>> cover:图片等比缩放,使背景图像完全覆盖背景区域。(可能导致背景图部分区域无法显示)

background-position:位置坐标、偏移量

>>> 指定位置:left/center/right top/center/bottom

当只写一个属性值时,另一个默认居中

>>> 填写坐标:水平位置 垂直位置 (像素或百分比形式)

① 当只写一个属性值时,默认写的为水平方向,则垂直居中

② 当使用像素时:图片的左上角往各个方向移动的实际距离

水平方向:正数右移 负数左移 垂直方法:正数下移 负数上移

(左负有正 上负下正)

③ 当使用百分数时,一般只能是正数。代表去掉图片后,剩余空白距离的分布比例。例如 background-position:30%; 水平方向去掉图片后,剩余区域3:7分

*/

.div1{

width: 27px;

height: 27px;

background-image: url(css/icon.gif);

/**/

background-repeat: no-repeat;

/*background-size: 100% 100%;*/

background-position: -165px -27px;

white-space: nowrap;

text-indent: 30px;

line-height: 27px;

}

【CSS盒模型】

<style type="text/css">

.div1{

width: 100px;

height: 100px;

/* [margin 外边距]

* margin属性值最多有四个:

* ① 写一个值:四个方向的margin均为这个值

* ② 写两个值:上、右两个方向,下默认=上,左默认=右

* ③ 写三个值:上、右、下三个方向,左默认=右

* ④ 写四个值:上、右、下、左 四个方向

* ⑤ 写三个值+auto:控件居右显示

* margin: 50px 30px 20px auto; 距离父容器右侧30px

* ⑥ margin: 0 auto; 设置控件在父容器中,水平居中

*/

margin: 0 auto;

/* [border 边框]

* border 有三个属性值:宽度width 样式style 颜色color

* 原则上,三个属性都需要手动指定(color不写时,默认为黑色)

*/

border: 10px solid green;

/* [padding 内边距]

* 使用方式,同margin①~④

* 注意:使用padding会将整个控件撑大,使用时需注意控件可视区域的实际大小。

*/

padding: 50px;

/* [border-radius 圆角]

* 1、可以接受8个属性值: X轴(左上、右上、右下、左下)/Y轴

* 例如:border-radius: 50px 50px 50px 50px / 50px 50px 50px 50px;

* 2、只写X轴时,Y轴默认等于X轴。只写左上角,默认=右下角。只写右上角,默认=左下角

* 例如:border-radius: 50px 0px ;

* =border-radius: 50px 0px 50px 0px;

* =border-radius: 50px 0px 50px 0px/50px 0px 50px 0px;

*

* 3、只写一个数,默认8个值均相等。

*/

border-radius: 20px 30px/40px 50px;

/* [border-image 图片边框]

1、十个属性:

① 图片路径:url()

② 图片切片宽度:4个值,分别代表上、右、下、左,四条切线。通过四条切线切割后,会把图片分成九宫格,四个角分别对应边框的四角(不会进行任何拉伸),四个边分别对应边框的四边(根据设置进行拉伸/平铺/铺满)。

写的时候,不能带px单位

③ 图片边框的宽度:4个值,分别代表上、右、下、左四条边框

写的时候,必须带px单位

④ 边框背景重复方式:stretch(拉伸)、round(铺满)、repeat(平铺)

【铺满和平铺区别】

平铺:会保持原有四条边的宽度,进行平铺。可能导致角落处无法显示完整一个图标;

铺满:会对四条边进行适当的拉伸压缩,确保可以正好显示完全。

2、属性值写法:border-image: ① ②/③px ④;

第②部分可以只写1个、2个、3个,判断方式同margin

*/

/* [box-shadow 盒子阴影]

* 1、六个属性值,空格分割:

* x轴阴影距离:(必选) 可正可负,正——右移 负——左移

* y轴阴影距离:(必选) 可正可负,正——下移 负——上移

* 阴影模糊半径:(可选) 只能为正,默认为0。数值越大,阴影越模糊

* 阴影扩展半径:(可选) 可正可负,默认为0。数值增大,阴影扩大。数值减小,阴影缩小

* 阴影颜色:(可选) 默认为黑色

* 内外阴影:(可选) 可选值:inset(内阴影) 默认为外阴影

*/

box-shadow: 0px 0px 10px 0px blue inset;

}

input:focus{

box-shadow: 0px 0px 1px 0px cornflowerblue inset;

}

</style>

相对定位

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

.div1{

width: 100px;

height: 100px;

/* [相对定位 relative]

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

* 2、定位机制:

* ① 相对于自己原来文档流中的位置定位,当不指定top等定位值时,不会改变元素位置;

* ② 相对定位元素,仍会占据原有文档流中的位置,而不会释放。

* 3、使用top、left、bottom、right调整位置。当left和right同时存在,left生效,当top和bottom同时存在,top生效。

*/

position: relative;

/*top: 50px;*/

/*left: 50px;*/

left: 50px;

top: 50px;

z-index: 0;

}

.div2{

width: 100px;

height: 100px;

/*position: relative;

bottom: 50px;*/

/*z-index: -10;*/

}

</style>

</head>

<body>

<div class="div1">

这是第一个div

</div>

<div class="div2">

这是第一个div

</div>

</body>

</html>

绝对定位 固定定位

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

/* [绝对定位 absolute]

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

* 2、定位机制:

* ① 相对于第一个非static的祖先元素(即使用了relative/absolute/fixed定位的祖先元素)进行定位。

* ② 如果所有祖先元素均未定位,则相对于浏览器左上角定位;

* ③ 使用absolute的元素,会从文档流中完全删除,原有空间释放不再占有;

*

* [固定定位 fixed]

* 1、position: fixed; 是一种特殊的绝对定位,父容器无法使用relative锁住

* 2、定位机制:永远相对于浏览器进行定位。

*

* [z-index 属性]

* 1、作用:设置定位元素的Z轴层叠顺序

* 2、使用要求:① 必须是定位元素才能使用。relative/absolute/fixed

* ② 使用z-index需要考虑父容器的约束。

* 如果父容器为z-index:auto,则子容器的z-index可以不受父容器的约束;

* 如果父容器z-index进行了设置,则子容器的层叠将以父容器的z-index为准(在同一父容器的不同子元素,仍可以通过自己的z-index调整层叠关系)。

*

* 3、z-index:auto & z-index:0 的异同:

* ① z-index:auto为默认值,与z-index:0处于同一平面。

* ② z-index:auto,不会约束子元素的z-index层次,而z-index:0,会约束子元素必须与父元素处于同一平面。

*

* 4、z-index相同(处于同一平面的定位元素)的层叠关系:后来者居上

*/

.div1{

width: 100px;

height: 100px;

/*margin: 0 auto;*/

position: relative;

top: 100px;

left: 25px;

/* 绝对定位元素水平居中的方式:

1、left: 50%;

2、设置margin-left为-width/2:margin-left: -50px;

*/

z-index: auto;

}

.div1_1{

width: 50px;

height: 50px;

position: relative;

top: 0px;

left: 0px;

z-index: 1;

}

.div2{

width: 100px;

height: 100px;

position: relative;

/*z-index: -1;*/

}

.div2_1{

width: 50px;

height: 50px;

position: relative;

/*z-index: 100;*/

}

</style>

</head>

<body>

<div class="div1">

<div class="div1_1">

</div>

</div>

<div class="div2">

<div class="div2_1">

</div>

</div>

</body>

</html>

负边距的使用

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

/* 【1、实现块级元素在块级元素中水平垂直居中】

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

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

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

*/

.div1{

width: 100px;

height: 100px;

overflow: hidden;

/*position: relative;*/

}

.div2{

width: 50px;

height: 50px;

position: relative;

left: 50%;

margin-left: -25px;

top: 50%;

margin-top: -25px;

}

/* 【2、使用负边距增大元素宽度】

* ① 不指定子容器宽度,指定高度或填充内容;

* ② margin: 0px -50px; 可以是左右两边,均超出父容器50px

*/

.div3{

width: 200px;

height: 50px;

border: 5px dotted #0000FF;

margin: 0 auto;

}

.div4{

height: 100%;

margin: 0px -50px 0px -50px;

}

/* 第二部分应用,解决div中多个li间距问题

*/

.div5{

width: 170px;

height: 110px;

}

.div5 ul{

list-style: none;

/*width: 180px;*/

margin-right: -10px;

padding: 0px;

}

.div5 ul li{

width: 50px;

height: 50px;

margin-right: 10px;

margin-bottom: 10px;

float: left;

}

/* 3、负边距实现双飞翼布局

* ① 由于main部分写在前面,所以可以保证朱布局的优先加载

*/

.main, .sub, .extra {

float: left;

}

.main {

width: 100%;

}

.sub {

width: 190px;

margin-left: -100%;

}

.extra {

width: 230px;

margin-left: -230px;

}

.main-wrap {

margin: 0 230px 0 190px;

}

</style>

</head>

<body>

<div class="div1">

<div class="div2">

</div>

</div>

<div class="div3">

<div class="div4">

</div>

</div>

<div class="div5">

<ul>

<li></li>

<li></li>

<li></li>

<li></li>

<li></li>

<li></li>

</ul>

</div>

<div class="container clearfix">

<div class="main">

<div class="main-wrap">

<p>main</p>

</div>

</div>

<div class="sub">

<p>Sub</p>

</div>

<div class="extra">

<p>Extra</p>

</div>

</div>

</body>

</html>

/*[CSS3 动画的使用]

1、声明一个动画(关键帧)

@keyframes name{

from{}

to{}

}

阶段写法:

① 每个阶段用百分比表示,从0%到100%

② 起止必须设置即0%和100%或者from和to

2、在CSS选择器中,使用Animation动画属性,调用声明好的关键帧

【Animation:缩写顺序】

Animation-name 动画名称(@keyframes 名称)

Animation-duration 动画持续时间

Animtaion-timing-function动画速度曲线 常选ease

Animtaion-delay 动画延迟时间

Animation-iteration-count 播放次数,默认为1,无限次Infinite

Animation-direction 设置对象动画在循环中是否反向运动 ( Alternate 逆向播放)

* animation-fill-mode 设置对象动画时间之外的状态(forwards: 停留在动画结束状态 backwards:停留在动画开始状态)

>>> 注意animation-name和animation-duration必须设置

>>> animation可以同时设置多个动画 动画之间用,分隔

animation:frame1 .3s,frame2 .5s……

*/

时间: 2024-10-18 10:06:17

CSS的学习使用的相关文章

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

HTML&CSS基础学习笔记13—无序列表

无序列表 有时我们的工作繁忙,杂事很多,怕忘记,就会把事情一件件列出来,防止忘记. 它们的排列顺序对于我们来说并不重要,可以随意调换,我们将它称为无序列表,HTML里用<ul>标签来表示无序列表,列表里的项目则用<li>标签来表示: 1 2 3 4 5 <ul>     <li></li>     <li></li>     ... </ul> 看一段实例代码: 对于的浏览器显示结果是这样的: 更多内容学习,请

CSS基础学习十四:盒子模型补充之display属性设置

我在CSS基础学习十三:盒子模型的i博文只是阐释了CSS盒子模型,并没有过多的使用实例来演示.这篇博文 就来做一些盒子模型知识的补充.这一部分对于网页总体布局还是蛮重要的,过去大多数使用HTML中的table元素和 框架标签来进行网页的整体布局,现在我们使用最多的是DIV+CSS网页布局.所以一定要掌握好盒子模型,记住 content,border,padding和margin各自在盒子中的作用和使用方式. 先来看一个完整元素的盒子模型实例: <!DOCTYPE html PUBLIC "

HTML CSS——position学习终结者(二)

在博客<HTML CSS--position学习终结者(一)>中我们认识到如果某一absolute作用的元素的父对象(或曾祖父,只要是父级对象)设置了position属性且position的属性值为absolute.relative或者fixed,那么这个子元素会参照离它(指子元素)最近的且position的属性值为absolute.relative或者fixed的父元素进行定位,子元素的定位点为父元素的左上角,学习过padding的人可能会这样想:这个时候如果父元素设置了padding样式,

CSS基础学习十五:盒子模型补充之外边距合并

今天继续接着CSS盒子模型补充,CSS基础学习十三:盒子模型和CSS基础学习十四:盒子模型补充之display属 性设置都是介绍了盒子模型中的内容概括.开始今天的主题:外边距合并. 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合 并的外边距的高度中的较大者. (1)外边距合并 外边距合并叠加是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,外 边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的

CSS基础学习十一:选择器的优先级

在CSS基础学习的篇章中,从第四篇博客开始说选择器,到昨天基本已经说完了.今天我们总结一下,选择器作 用:告知浏览器需要设置哪个dom元素的样式.最后来说说选择器一个重要的问题,选择器的优先级.判断优先级的 方法就是尝试!!! 一简单选择器的优先级 简单的选择器包括我们在第四篇,第五篇,第六篇博客的元素选择器(标签选择器),类选择器和id选择器. 我们来试验: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo

HTML&CSS基础学习笔记15-合并单元格

合并单元格 之前的文章中,我们已经能够创建一个简单地表格了,如果我们需要把横向的某两个相邻单元格<td>或者纵向的某两个相邻单元格<td>合并,我们该怎么做呢?我们要知道的知识点如下: 1.标签<td>的[colspan]属性规定单元格可横跨的列数,即横向合并的单元格数: 2.标签<td>的[rowspan] 属性规定单元格可横跨的行数,即纵向合并的单元格数: 3.这2个标签也可以同时使用. 样式示例: 现在就来试试合并单元格吧: <!DOCTYPE 

根据兄弟元素的数量来设置样式(CSS揭秘学习笔记)

CSS揭秘学习笔记 li.length == 4 li:first-child:nth-last-child(4), li:first-child:nth-last-child(4) ~ li { /* 当列表正好包含四项时,命中所有列表项 */ } li.length >= 4 li:first-child:nth-last-child(n+4), li:first-child:nth-last-child(n+4) ~ li { /* 当列表至少包含四项时,命中所有列表项 */ } li.l

CSS入门级学习

css入门学习1:认识CSS 1.1:css简介,css全称是层叠样式表,Cascading style sheets 1.2:css的作用,主要是用于定义html内容在浏览器内的显示样式,如文字大小,颜色,字体加粗等 使用css样式的一个好处是通过定义某个样式,可以让不同的网页位置的字体有着统一的字体,字号或者颜色等 1.3:css代码语法 css样式由选择器和声明组成,而声明又由属性和值组成 h1 { color:red;font-size:14px;} 选择器 属性 值{属性和值构成声明}

HTML&CSS基础学习笔记7-高亮文本及组合使用

HTML提供了<mark>标签可以让你的文本高亮,这样看起来更加醒目.<mark>标签内的文本会呈现特殊的样式,它和<em>,<strong>一样也是一个带有语义的标签. 代码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>高亮文本</title><