CSS 简单概括 -- 前端知识

CSS:cascading style sheets层叠样式表,用于美化页面css

css的三种表现形式:
一、行内样式(内嵌样式):结构的内部,即写在标签内的样式;写在标签的开始部份内部,style属性当中;
<标记 style="样式的属性名1:样式的属性值1;属性名2:属性值2;......"></标记>
二、内部样式(内联样式):写在HTML页面内部,存放于head标记当中,样式写在style标记内;
注意:style标记不要写在title标记上方;
<style>
选择器 {
属性名:属性值;
属性名:属性值;
......
}
</style>
三、外部样式(外联样式):写在css文件内;
<link type="text/css" rel="stylesheet" href="css/main.css" />html

color:设置文本颜色;
属性值:一、表示颜色的英文单词,例如:red、blue、green、pink、purple、cyan等;
二、十六进制表示法:#ff0000; 0、一、2...九、a、b、c...f
# ff 00 00
红色 绿色 蓝色
0表示颜色的最低值,f表示颜色的最大值;
三、rgb表示法:color:rgb(0,0,0);取值0-255;
四、rgba表示法:color:rgba(0,0,0,0);前三个值的取值0-255,第四个值的取值0-1;
a--alpha浏览器

font-family:设置字体格式;能够设置多个字体格式,之间用“,”隔开,字体格式用“”包含;ide

font-size:设置字体大小,单位像素(px);布局

font-style:设置字体样式
normal--正常的,没有任何样式;
italic--斜体字;只有字体自己有斜体才能倾斜,不然不能倾斜;
oblique--倾斜的;能够强行倾斜字体;性能

font-weight:设置字体字重,即字体的粗细;
100-900取整百,700至关于粗体(bold),900至关于更粗(bolder);
bold--粗体
bolder--比粗体更粗;
lighter--细体;测试

选择器:选择对应的标签,将样式给到对应的标签;
一、标签选择器:给同一种标签添加样式;
代码:
标签名 {
属性名:属性值;
}字体

二、通用选择器(通配符):给全部的标签添加样式;
代码:
* {
属性名:属性值;
}
注意:通用选择器是先遍历页面当中全部的标签,而后再给这些标签添加样式,因此这个选择器的性能很是低;通常只会在测试的时候使用,用于css的初始化,可是在项目当中不要使用;url

三、类选择器:给同一类(同一个群体)标签添加样式;要先给同一类标签取一个名字;
属性--class给标签命名类名;
代码:
.class名(类名){
属性名:属性值;
}
注意:一个类名能够给多个标签,一个标签能够有多个类名,多个类名之间用“空格”隔开;spa

四、id选择器:给某一个标签添加样式;要先取一个id名
属性--id;
代码:
#ID名 {
属性名:属性值;
}
注意:一个ID名只能给一个标签,一个标签只能有一个ID名;(从一而终)

五、后代选择器:选择的是某一个元素的后代元素;
代码:
祖先选择器 后代名 {
属性名:属性值;
}
注意:中间是用“空格”链接,表示“里面的”意思;

选择器原理:是由内向外查找,先查找全部的p,而后判断这个p是否由知足要求的父节点father,不知足就继续向上一级查找,没有找到就不满要求,找到了才给这个p添加样式;

六、子选择器:选择某个元素的直接后代;
代码:
父选择器>子级{
属性名:属性值;
}

七、相邻兄弟选择器:选择紧挨着该元素的后面的一个元素;
代码:
元素名+兄弟名{
属性名:属性值;
}

八、通用兄弟选择器:选择的是该元素后面的全部的某一种元素;
代码:
元素名~兄弟名{
属性名:属性值;
}

九、并集选择器:将两个不相干的元素同时添加相同属性;
代码:
元素1,元素2,元素3......{
属性名:属性值;
}

十、交集选择器:当标签和类名(ID名)都冲突的时候,使用交集选择器;
代码:
元素名.类名(#ID名){
属性名:属性值;
}

css三大特性:
一、继承:父级的样式会被子级继承;!important不会被继承;

二、层叠:当样式发生冲突的时候,样式会产生覆盖(层叠);

三、优先级:!important(最高级)>行内样式>id>类>标签>*>继承;
同级样式遵循“就近原则”;就近指定是谁离内容进谁的优先级就高;

权重:标签选择器--1
类选择武器--10
id选择器--100
行内样式--1000
!important--1/0(无穷大)
数标签:先数id,比较完id再数类,比较完类再数标签;

盒子模型:
一、内容--宽度:width;单位px、百分比(继承)、em、rem;
高度:height;单位px、百分比(继承)、em、rem;
背景--背景色:background-color;颜色单词、十六进制表示法、rgb、rgba;
背景图片:background-image:url(路径);
背景图片重复:background-repeat;no-repeat(不重复)、repeat-x(水平重复)、repeat-y(垂直重复)、repeat(水平垂直重复、默认);
背景定位:background-position:left、center、right、top、center、bottom、具体的数值(单位px)
背景连写:background:背景颜色 背景图片 背景图片重复 背景定位;能够只单写某一个属性;

二、填充:上填充--padding-top
下填充--padding-bottom
左填充--padding-left
右填充--padding-right
填充连写--padding:1个值--》上、右、下、左所有是这个值;
2个值--》第一个值表示上下,第二个值表示左右;
3个值--》第一个值表示上,第二个值表示左右,第三个值表示下;
4个值--》依次为上、右、下、左;(顺时针方向)
注意:padding会改变盒子的大小,要想在添加padding的同时保持盒子的大小不变,应将padding的值从盒子的大小中减去;

三、边框:边框粗细--border-width
边框颜色--border-color
边框样式--border-style:solid(实线)、dashed(虚线)、dotted(点线)
边框连写--border:width style color;
能够单独只写某一边的边框--border-top、border-bottom、border-left、border-right
注意:边框的对齐方式为向外对齐,因此边框会改变盒子大小;

四、外边距:上边距--margin-top
下边距--margin-bottom
左边距--margin-left
右边距--margin-right
外边距连写--margin:1个值 2个值 3个值 4个值(参照padding);

默认文档流布局下,父子上边界共用问题?
解决:一、使用padding;
二、给父级使用border;
三、给父级添加属性--overflow:hidden;
四、浮动;
五、定位;

外边距塌陷:在垂直方向上上下边距会合并,取最大值;

盒子水平居中:margin:0 auto;

样式的继承:width、color、font-、text-、line-height均可以被继承;

<ins></ins>下划线标记

<del></del>删除线标记

文本修饰:text-decoration--underline;下划线
line-through;删除线
none;无/没有修饰;

文本对齐:text-align--left;左对齐
center;居中对齐
right;右对齐

文本缩进:text-indent;指的是文本的首行缩进;
单位px、em;

行高:line-height--用于设置一行文本的高度,经常使用于设置一行文本在容器当中垂直居中;
单位:一、px;
二、百分比;基于文字大小的百分比,“%”前必须是整十,如:150%、200%
三、em;相对单位,一样是基于文字大小;如:1.5em、2em;
四、没有单位;a--没有继承的状况下,至关于em;
b--在有继承的状况下:
i、父级的行高有单位em,则会先计算好行高,而后将行高的数值直接继承给子级,子级自己不会再计算行高;
ii、行高没有单位,则父级会直接将行高继承给子级,而后子级根据行高值自行计算行高;


font连写--font:样式/粗细 大小 格式;大小和格式必须都有,缺乏任何一个都不行;

元素的显示方式:
一、块级--block;独占一行,支持宽高;
二、行内--inline;和其余行内元素在一行显示,不支持宽高;
三、行内块级--inline-block,既有行内元素特性,又有块级元素的特性;一样在一行中显示,而且支持宽高;
display:block/inline/inline-block;
以上为默认文档流(标准文档流)下的状况;

在有连接的状况下,a标记没法继承父级的color样式;

伪类选择器:
a:link--连接的本来的样式(没有访问过);一旦访问事后就失效;
a:hover--鼠标移入时的样式;
a:active--鼠标按下时的样式(鼠标没有松开);
a:viseted--连接访问事后的样式;
L--H--V--A

浮动:让默认(标准)文档流下的元素漂浮起来水平排列;
float--left左浮动;
right右浮动;
none不浮动;
浮动排列的顺序不会改变,默认时谁在第一个,浮动就会排在第一个;

浮动的影响:
一、行内元素浮动以后能够支持宽高;
二、文本会给浮动的元素让位;能够制做文本绕排的效果;
三、在父级没有给高度的状况下,子级浮动后父级会没有高度;

清除浮动:
一、在父级内容的最后添加一个空的div,添加clear属性;
clear--left清除左浮动;
right清除右浮动;
both清除全部(左/右)浮动;
clear是清除上一个元素带来的影响;
不推荐使用,由于会在页面上添加太多的无用标签,让页面的布局变得更复杂;

二、给父级设置overflow:hidden;
会触发bfc(block formatting context)块级格式化上下文;
不推荐使用,由于这个属性和定位一块儿使用时会产生问题;

三、使用伪元素after
.clearfix:after {
content:"";/*内容为空*/
height:0;/*高度为0*/
line-height:0;/*行高为0*/
display:block;/*块级元素*/
visibility:hide;/*隐藏*/
clear:both;/*清除浮动*/
}
.clearfix {
zoom:1;/*IE678*/
}

四、使用双伪元素after和before
.clearfix:afer,.clearfix:before {
content:"";
display:table;
clear:both;
}
.clearfix {
zoom:1;
}
以上四种方式推荐使用第三种;

列表样式:list-style

定位:
一、静态定位--static;按照标准文档流进行布局;

二、相对定位--relative;相对自身;以自身的坐上角(坐标点)为参考;会保留原来的位置不被其余元素侵占;

三、绝对定位--absolute;参考的是页面的左上角;绝对定位位置不会被保留;
若是父级有定位,则参考父级的坐标点;若是父级没有定位,则会一级一级向上查找,直到html标签,中途有定位就会参照这个定位元素的坐标点;

四、固定定位--fixed;相对于浏览器窗口的左上角;

相关文章
相关标签/搜索