您的位置:首页 > Web前端 > CSS

【南大软院大神养成计划:第二天】与CSS度过的充实的一天(一)

2015-11-18 00:29 537 查看
一开始是打算花两天时间学完《HTML+CSS基础课程》的,结果时间线被知乎和张大妈污染了一部分,导致没有按时完成任务(共15章,还剩最后一章),厕所面壁10分钟。。。。

今天开始学CSS,内容很多,学习过程很充实,但不好的是知识点容易混淆,需要一定时间的消化(或许多实践就是最好的笑话),在学习过程中也发现自己没有对之前的一些标签有很强的概念,于是也偶尔翻回前面学习的内容温习,加深对其的理解,我觉得这才是学习的理想状态吧,在这里不得不赞一下慕课网这个课程的课程设计,实时交互很实用,课程内容也很优秀,同时意识到现在开发的门槛之低,10岁的孩子开始入门学习也不是问题了,这让我感到欣慰的同时又让我感受到“后浪”带给我的压力,趁年轻,积累资本吧。

墨迹完,下面贴出今天学习的学习笔记(第二次写学习日记,更换了下形式,第一次是进行主观上的总结,这次贴出边学边记下的学习笔记,不全,有时间再补坑,算是一个小小的梳理吧)

====================================================学习日记(二)============================================================

6-1:CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器

内的显示样式,如文字大小、颜色、字体加粗等。

6-2:【Span标签的应用】

6-3:【CSS代码语法】css 样式由选择符和声明组成,而声明又由属性和值组成,如下图所示

7-1:从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式、嵌入式和外部式三种

三种样式是有优先级的,他们的优先级是:内联式 > 嵌入式 > 外部式

但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面;总结来说,就是--就

近原则(离被设置元素越近优先级别越高)。但其有一个前提:内联式、嵌入式、外部式样式表中

css样式是在的相同权值的情况下。

【类选择器、ID选择器】:他们的区别?

【子选择器、包含(后代)选择器】

请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你

可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。后代选择器通过

空格来进行选择,而子选择器是通过“>”进行选择。

总结:>作用于元素的第一代后代,空格作用于元素的所有后代。

【继承】

CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个

特定html标签元素,而且应用于其后代

但注意有一些css样式是不具有继承性的。如border:1px solid red;

【特殊性】

浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。

权值的规则:

标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100

例如下面的代码:

p{color:red;} /*权值为1*/

p span{color:green;} /*权值为1+1=2*/

.warning{color:white;} /*权值为10*/

p span.warning{color:purple;} /*权值为1+1+10=12*/

#footer .note p{color:yellow;} /*权值为100+10+1=111*/

注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继

承的权值最低。(贴出代码例子)

考虑【层叠】问题:

层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根

据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。

内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)

【重要性】

有些特殊的情况需要为某些样式设置具有最高权值,怎么办?这时候我们可以使用!important来解

决。

!important要写在分号的前面

当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览

器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚

。这时注意样式优先级为:浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记

住!important优先级样式是个例外,权值高于用户自己设置的样式。

【段落排版-对齐】

text-align:left;

在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内

联块状元素。

常用的【块状元素】有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一

行)(什么意思?)

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器(容器?)的100%(和父元素的宽度一致),除非

设定一个宽度。

常用的【内联元素】有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

内联元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

常用的【内联块状元素】有:

<img>、<input>

内敛块状元素(inline-block) 元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高以及顶和底边距都可设置。

【注意】

1.设置display:block就是将元素显示为块级元素,块状元素也可以通过代码display:inline将元素

设置为内联元素,代码display:inline-block就是将元素设置为内联块状元素

2.解决行内元素间隙bug问题(元素写在一行):

行内元素之间会产生间隙bug问题的场景:

当行内元素之间有“回车”、“tab”、“空格”时就会出现间隙。

解决方法:

(1)写在一行,之间不要有空格之类的符号。

(2)使用font-size:0

【边框(border)】

1.border-style(边框样式)常见样式有:

dashed(虚线)| dotted(点线)| solid(实线)。

2.border-color(边框颜色)中的颜色可设置为十六进制颜色,

border-color:#888

3.border-width(边框宽度)中的宽度也可以设置为:

thin | medium | thick(但不是很常用),最常还是用象素(px)

css 样式中允许只为一个方向的边框设置样式

【盒模型】



盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)

和高(height),指的是填充以里的内容范围。

盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺

时针方向设置的(即“上右下左”)

因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

元素内容与边框之间是可以设置距离的,称之为“填充”(padding)。填充也可分为上、右、下、

左(顺时针),边界(margin)同理。

【布局模型】

布局模型与盒模型一样都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基础之上,

又不同于我们常说的 CSS 布局样式或 CSS 布局模板。如果说布局模型是本,那么 CSS 布局模板就

是末了,是外在的表现形式。

CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。

在网页中,元素有三种布局模型:

1、流动模型(Flow)

2、浮动模型 (Float)

3、层模型(Layer)

【流动模型】

流动布局模型具有2个比较典型的特征:

第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块

状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。如右侧代码编辑器中三个块

状元素标签(div,h1,p)宽度显示为100%。

第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可

不像块状元素这么霸道独占一行)

【层模型】

层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作

,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧。

如何让html元素在网页中精确定位,就像图像软件PhotoShop中的图层一样可以对每个图层能够精确

定位操作。CSS定义了一组定位(positioning)属性来支持层布局模型。

层模型有三种形式:

1、绝对定位(position: absolute)

2、相对定位(position: relative)

3、固定定位(position: fixed)

【层模型--固定定位】

fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗

口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移

动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器

窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed:属性功能相同

相对于其它元素进行定位的规范:

1、参照定位的元素必须是相对定位元素的前辈元素;

2、参照定位的元素必须加入position:relative;

3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。

【盒模型代码简写、颜色值缩写、字体缩写方法】

(思考)

1.1、如果top、right、bottom、left的值相同

1.2、如果top和bottom值相同、left和 right的值相同

1.3、如果left和right的值相同

注意:padding、border的缩写方法和margin是一致的。

2.1.p{color:#000000;}

可以缩写为:

p{color: #000;}

2.2.p{color: #336699;}

可以缩写为:

p{color: #369;}

3.1:body{

    font-style:italic;

    font-variant:small-caps;

    font-weight:bold;

    font-size:12px;

    line-height:1.5em;

    font-family:"宋体",sans-serif;

}

这么多行的代码其实可以缩写为一句:

body{

    font:italic  small-caps  bold  12px/1.5em  "宋体",sans-serif;

}

3.2:注意:

(1)使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-

weight、font-style、font-varient、line-height)如未指定将自动使用默认值。

(2)在缩写时 font-size 与 line-height 中间要加入“/”斜扛。

3.3:一般情况下因为对于中文网站,英文还是比较少的,所以下面缩写代码比较常用:

body{

    font:12px/1.5em  "宋体",sans-serif;

}

只是有字号、行间距、中文字体、英文字体设置。

【颜色值设置】



比较普遍使用的方法:原理是 RGB 设置,但是其每一项的值由 0-255 变成了十六进制 00-ff。

如:

p{color:#00ffff;}

【长度值】

1.常用长度值:px(像素)、em、% 百分比,这三种单位都是相对单位。

1.1:像素:像素指的是显示器上的小点(CSS规范中假设“90像素=1英寸”)。实际情况是浏览器

会使用显示器的实际像素值有关,在目前大多数的设计者都倾向于使用像素(px)作为单位。

1.2:em :就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em =

14px;如果 font-size 为 18px,那么 1em = 18px;当给 font-size 设置单位为 em 时,此时计

算的标准以 p 的父元素的 font-size 为基础

1.3:百分比:

p{font-size:12px;line-height:130%}

设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)

=====================================================学习日记(二)==============================================================

软软公布了第一天的三篇优秀文章后,发现了一枚玩过前端的小伙伴,很开心,可以交流的伴儿越来越多了,幸好我没放弃~

惯例学习进度截图结束这一天



                                                                                                                                                                                                           2015年11月18日 01:02 a.m
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: