Web | CSS学习笔记

CSS(Cascading Style Sheets,层叠样式表),主要通过为HTML元素增添样式的方式修饰静态页面,实现了页面内容与样式分离。目前主流网页布局均采用 div+CSS 方式实现。

1. CSS基础

1.1 CSS三大特性

  1. 层叠性:权重高的样式会覆盖权重低的样式;
  2. 继承性:子元素继承父元素的样式;
  3. 优先级:作用域越小,优先级越大;
  • 不同级别:行内样式>id选择器>类选择器>标签选择器>通配符>继承;
  • 同一级别:后写的会覆盖先写的样式;

1.2 CSS语法规则

CSS注释:/* CSS注释内容 */

/* CSS注释内容 */
选择器{ 
    样式属性1:值1;
    样式属性2:值2;
}

1.3 引入CSS样式表

1.行内样式表(内联表):

<标签 style="属性1:值1;属性2:值2;"></标签>

2.内部样式表(内嵌表)

  <style>
      选择器{ 
        样式属性1:值1;
        样式属性2:值2;
      }
  </style>

3.外部样式表(外联表):外部.css文件

4.引入外部样式表:

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

5.三种样式表总结

样式表优点缺点使用情况控制范围
行内样式表权重高样式与结构未分离较少单个标签
内部样式表样式与结构部分分离未彻底分离较多整个页面
外部样式表样式与结构完全分离需引入多,推荐整个站点

2. CSS样式

2.1 CSS字体-font★

1.字体系列:

font-family : "宋体","微软雅黑";

font-family是一个字体族的优先表,如果浏览器不支持第一个字体,则会尝试下一个。

2.字体风格:

font-style : normal/italic/oblique;
/*
- normal:标准
- italic:斜体
- oblique:倾斜
*/

3.字体粗细:

font-weight : 400;
/* 加粗度:100,200,300,400,500,600,700,800,900 */
/* normal=400 | blod=700 */
/* bolder:更粗 | lighter:更细*/

4.字体大小:

font-size : px/em/%

5.font综合设置:

font : font-style font-weight font-size/line-height font-family
注意:
- !英文字体名一般不需要加引号,设置英文字体名必须位于中文字体名之前;
- !加粗度没有单位,而且`x00`只有9个值,不存在`123`这种值;
- !网页普遍是`14px`;尽量设偶数px,奇数px在IE6存在bug;

2.2 CSS文本-text★

1.文本缩进:

text-indent : em/px/%;

2.水平对齐:

text-align : left/center/right;

3.单词间隔(只适用于英文):

word-spacing : em/px;

4.字符间隔:

letter-spacin : em/px;

5.文本装饰:

text-decoration : none/underline/overline/line-through/blink;
/* 
- none:无
- underline:下划线
- overline:上划线
- line-through:穿过一条线
- blink:闪
*/

6.行高:

line-height : px/em/%;  
/* 一般文本行高比字号大7-8像素即可 */

7.文本阴影:

text-shadow : 水平位置 垂直位置 模糊偏移 阴影颜色;

8.【CSS3】颜色透明度

rgba(0~255, 0~255, 0~255, 0~1);
/* 模糊度:0~1 */

2.3 CSS背景-background★

1.背景色:

background-color:rgb();

2.背景图:

background-image : url();

3.背景平铺:

background-repeat : repeat/no-repeat;
/*
- repeat:平铺
- no-repeat:不平铺
- repeat-x:横向平铺
- repeat-y:纵向平铺
*/

3.背景定位:

background-position : X坐标/位置 Y坐标/位置;
/* 坐标:px/em/% */
/* 位置:top,bottom,center,left,right; 
   若只设了一个值,那么第二个值将是center; */

4.背景关联:

backgrount-attchment : fixed/scroll;
/*
- scroll:默认值。背景图像会随着页面其余部分的滚动而移动;
- fixed:图像固定;当页面的其余部分滚动时,背景图像不会移动;
*/

5.背景综合设置:

background: bg-color bg-image bg-repeat bg-attchment bg-position(x,y);

6.【CSS3】背景尺寸:

background-size : contain/cover;
/*
- contain:保证背景图片完整性;
- cover:保证背景图片完全覆盖整个区域;
- width&height:设置背景的宽&高;(一般设置1个参数,设置2个参数会导致图片变形)
*/

2.4 *CSS列表-list-style

1.列表项标志:

list-style-type : none/disc/circle/square/decimal...;
/* 
none:无
disc:实心圆
circle:空心圆
square:实心方块
decimal:数字
*/

2.列表项图像:

list-style-image : url();

3.列表标志位置:

list-style-position : inside/outside;
/*
outside:默认值。保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐。
inside:列表项目标记放置在文本以内,且环绕文本根据标记对齐。
*/

4.列表综合设置:

list-style : image type position;

2.5 *CSS表格

1.折叠边框

border-collapse : collapse;

2.水平对齐

text-align : left/center/right;

3.垂直对齐

vertical-align : top/center/bottom;

4.空单元格显示/隐藏

empty-cells : show/hide;

5.表格标题在上/在下

caption-side : top/bottom;

2.6 *CSS轮廓-outline

1.轮廓颜色:

outline-color : rgb()

2.轮廓样式:

outline-style : solid/dotted/dashed/double...;
/*
- soild:实线
- dotted:点线
- dashed:虚线
- double:双实线
*/

3.轮廓宽度:

outline-width : thick/medium/thin/px;
/*
- thick:粗
- medium:中
- thin:细
*/

4.轮廓综合设置:

outline : color style width;

2.7 标签显示模式★

display描述
none不显示
block块级元素
inline行内元素
inline-block行内块元素

2.8 内容溢出盒子★

overflow描述
visible默认值。内容溢出部分显示在盒子外;
hidden隐藏内容溢出部分
scroll如果内容溢出会被修剪,则浏览器会显示滚动条以便查看其余的内容;
auto如果内容溢出被修剪,则浏览器会显示滚动条以便查看其余的内容;

3. CSS选择器

3.1 元素选择器

标签{ 
    属性:值;
}

3.2 类选择器

.类名{
    属性:值;
}

单类名调用:class="类名"
多类名调用:class="类名1 类名2 ..."

3.3 id选择器

#id{
    属性:值;
}

3.4 通配符选择器

*{                
    属性:值;
}

作用域:整个HTML页面

3.5 交集选择器

选择器1选择器2{
    属性:值;
}

3.6 并集选择器

选择器1,选择器2{
    属性:值;
}

3.7 后代选择器★

先代选择器 后代选择器{
    属性:值;
}

作用于先代元素内的[所有的后代元素];

3.8 子元素选择器★

父选择器 > 子选择器{
    属性:值;
}

只作用于父元素内的[直接子元素];

3.9 相邻兄弟选择器

伯选择器 + 仲选择器{
    属性:值;
}

作用于紧接在伯元素后的[仲元素];

3.10 属性选择器

[属性]{
    属性:值;
}
标签[属性=值]{
    属性:值;
}

3.11 伪类选择器

选择器:伪类{
    属性:值;
}

1.<a>链接伪类:

  • a:link:未访问的链接;
  • a:visited:已访问的链接;
  • a:hover:鼠标移动到链接;
  • a:active:鼠标点击时的连接;

2.位置结构伪类:

  • first-child:第一个子元素;
  • last-child:最后一个子元素;
  • nth-child(n):第n个元素(n=1,2,3...);
  • nth-last-child(n):倒数第n个元素(n=1,2,3...);
    [n=odd:奇数 | n=even:偶数]
注意:
- !不是第一个HTML标签,而是第一个HTML元素
    html元素:文本,图像,链接;

3.【CSS3】目标伪类:

/*:target 选择器用于选取当前活动的目标元素*/
:target{
    属性:值;
}

3.12 伪元素选择器

标签::伪元素{
    属性:值;
}

伪元素:

  • first-line:第一行;

  • first-letter:第一个字符;

  • before:在标签之前添加content:新内容

标签::before{
    content:新内容;
}
  • after:在标签之后添加content:新内容
标签::after{
    content:新内容;
}
  • selection:选中区域;

4. CSS框模型(Box Model)★

BoxModel

4.1 边框-border

1.边框宽度:

border-width : px;

2.边框样式:

border-style : solid/dashed/dotted/double;
/*
- solid:实线
- dashed:虚线
- dotted:点线
- double:双实线
*/

3.边框颜色:

border-color : rgb();

4.边框综合设置:

border : width style color;

5.单边边框:

border-top/right/bottom/left-属性:值;
/* 单独设置某一边,设置方式与border同理 */

6.圆角边框:

border-radius : 左上角半径px 右上角半径px 右下角半径px 左下角半径px;

4.2 内边距-padding

1.内边距:

padding : top-px right-px bottom-px left-px

2.单边内边距:

padding-top/right/bottom/left : px

4.3 外边距-margin

1.外边距:

margin:top-px right-px bottom-px left-px;

2.单边外边距:

margin-top/right/bottom/left : px;
border/padding/margin综合设置提示:
- 可设置四个参数,分别对应top-right-bottom-left,顺时针遍历设置;
- 若只设置了1个value,则top=right=bottom=left=value;
- 若只设置了2个value,则top=val_1,right=val_2,bottom=val_1,left=val_2;顺时针遍历赋值;
- 若只设置了3个value,则top=val_1,right=val_2,bottom=val_3,left=val_1;顺时针遍历赋值;
- border-radius半径设置顺序:左上-右上-右下-坐下;顺时针遍历;

4.4 垂直外边距合并现象★

1.相邻盒子垂直外边距合并,margin合并取最大值;

   解决方案:只设置一个margin;

2.嵌套盒子垂直外边距合并。

   解决方案①:overflow:hidden

   解决方案②:使用borderpadding

4.5 CSS3盒子&IE6盒子

  • IE6框模型:box-sizing:content-box
IE6框的大小:【width+左右padding+左右border+左右margin】
        ×【height+上下padding+上下border+上下margin】
  • CSS3框模型:box-sizing:border-box
CSS3框的大小:【width+左右margin】×【height+上下margin】
        - CSS3盒的[width&height]包含[padding+border]

5. 浮动

5.1 浮动-float(难点)

浮动:浮动块不在文档流中,不占文档流位置;但占浮动位置

float:left/right;

(未完待详细解释)

5.2 清除浮动-clear★

clear 属性规定元素的哪一侧不允许其他浮动元素。

clear:left/right/both

清除浮动的方式:

1.【W3C推荐】在盒子末尾再添加一个如下的空盒子:

<div style="clear:both;"></div> 

2.在盒子样式中添加溢出隐藏样式:

overflow:hidden

3.为盒子添加如下样式,在每次结束后都清除浮动:

.clearfix:after{clear:both}  /* 只适用于IE6、IE7。 */

6. 定位

6.1 定位简介(难点)

position是否占文档流定位策略
static:静态定位占文档流
fixed:固定定位不占文档流相对于视窗进行定位
relative:相对定位占文档流原位置相对于原位置进行边偏移
absolute:绝对定位不占文档流相对于其已定位的包含块定位

6.2 边偏移

  1. 前提:float || position || 不占文档流;
  2. 边偏移:topbottomleftright

6.3 相对定位★

position:relative

1.相对于在文档流中的原位置进行边偏移;

2.仍占据文档流中的原位置;

relative

6.4 绝对定位★

position:absolute

1.相对于[其已定位的包含块]进行边偏移;

2.已从文档流完全删除,就好像该元素原来不存在一样;

3.元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框;

4.绝对定位与文档流无关,所以可以覆盖在页面其他元素上;

5.可通过z-index控制堆叠次序;z-index 仅能在定位元素上奏效;

6.一般采取[子绝父相]策略;

7. 页面日常开发习惯

页面布局:div+CSS;

使用外部样式表,引入外部.css文件;

例行设置:

1.清除盒子内外边距:*{padding:0;margin:0;};
2.链接取消下划线:a{text-decoration:none};
3.列表取消列表项标志:ul{list-style:none};

功能型样式:

-外边距实现盒子水平居中:margin:0 auto;
-垂直居中:line-height:盒高;
-清除浮动:<div style="clear:both;"></div>;

附:

CSS长度

相对长度单位描述
px像素值
em相对于当前字符的尺寸(自适应)
%百分比
绝对长度单位描述
cm厘米
mm毫米
in英寸
pt磅(1pt=1/72英寸)

CSS颜色

单位描述
color_name颜色名称(如red)
rgb(0~255,0~255,0~255)RGB值(如rgb(0,0,0))
rgb(x%,x%,x%)RGB百分比值(如rgb(100%,0%,0%))
#rrggbb十六进制数(如#c3c3c3)

转载于:https://www.cnblogs.com/liziczh/p/9318426.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值