欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端基础——css基础

程序员文章站 2024-01-25 21:45:52
...


css简介

css是层叠样式表(Cascading Style Sheets)
样式表定义了HTML如何在浏览器显示

css基础

1.css语法

css由两部分组成
包括一个选择器和一个声明的集合

h1 {color:red;font-size:22px}

其中每条声明都是以分号结束。
为了让css更加直观,更加具有可读性,通常每行只写一条声明:

h1{
	color:red;
	font-size:22px
}

css中可以进行注释书写
css中注释以‘’/‘’开始,以"/"结束,书写如下:

/*这是注释*/
h1{
	color:red;
	font-size:22px
}

2.css选择器

标签选择器,可以直接使用html元素当做选择器,可以选择所有该类型html元素。

h1{
	color:red;
	font-size:22px
}

id选择器,id选择器可以选择所有id属性为该id的html元素,写法以“#”开头来定义,后接id属性名。以下可以选择id属性为id1的html元素:

#id1{
	color:red;
	font-size:22px
}

class选择器,class选择器可以选择class属性为该class的html元素集合,class选择器有别于id选择器,class可以在多个元素中使用,id选择器只能用于单个元素。
写法以一个点“.”号来定义,后接class属性名。以下可以选择class属性为class1的html元素:

.class1{
	color:red;
	font-size:22px
}

可以在特定的html元素中使用选择器,也就是说css选择器可以进行嵌套,写法如下:
后代选择器,可以选择h1下所有class值为class1的html元素

h1 .class1{
	color:red;
	font-size:22px
}

子代选择器,可以选择h1下第一层级的class的值为class1的html元素

h1>.class1{
	color:red;
	font-size:22px
}

也可以同时对多个类型html元素进行选择,各个选择器之间用空格隔开,写法如下:

h1,.class1{
	color:red;
	font-size:22px
}

相邻兄弟选择器,可以选择紧接在另一元素后的元素,且二者父元素相同,以下写法获取了所有div下第一个p元素:

div+p
{
  background-color:yellow;
}

后续兄弟选择器,可以选择指定元素之后的相邻兄弟元素,以下写法选择了所有div之后的所有相邻兄弟元素p:

div~p
{
  background-color:yellow;
}

3.css中常见属性

1.border:边框

边框样式的参数:

solid;/边框为实线实线边框(常用)/

none; /无边框/

dotted; /边框为点线/

dashed;/边框为长短线/

double;/边框为双线/

groove ;/根据border-color的值画3D凹槽/

ridge;/根据border-color的值画菱形边框/

inset; /根据border-color的值画3D凹边/

outset ;/根据border-color的值画3D凸边/

1.1、border四个边框
border-left 设置左边框,一般单独设置左边框样式使用

border-right 设置右边框,一般单独设置右边框样式使用

border-top 设置上边框,一般单独设置上边框样式使用

border-bottom 设置下边框

在开发中我们一般这样写CSS 边框,优化简写,常见对对象设置使用属性代码:border:1px solid #blue;。

2.背景属性: (background)

background /颜色/

background-image: url();/背景图片/

在开发中我们经常看到一些小图标,那样做法就是页面的减少请求,

css sprites直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或“CSS贴图定位”。其实就是通过将多个图片融合到一张图里面。

在线合并网站:https://www.toptal.com/developers/css/sprite-generator

background-repeat: no-repeat;/不重复平铺背景图片/

repeat-x;/使图片只在水平方向上平铺/

repeat-y;/使图片只在垂直方向上平铺/

/如果不指定背景图片重复属性,浏览器默认的是背景图片向水平、垂直两个方向上平铺。/

/*背景图片固定,背景图片固定控制背景图片是否随网页的滚动而滚动。如果不设置背景图片固定属性,浏览

器默认背景图片随网页的滚动而滚动。为了避免过于花哨的背景图片在滚动时转移浏览者的注意力,一般都设为固定*/

background-attachment: 参数

参数取值范围:

background-attachment: fixed;(固定)

scroll;(滚动)

background-position: left;(水平)

top(垂直);位置

fixed:网页滚动时,背景图片相对于浏览器的窗口而言,固定不动

scroll:网页滚动时,背景图片相对于浏览器的窗口而言,一起滚动

3、超链接设置 text-decoration: 参数 主要用途是改变浏览器显示文字链接时的下划线。
参数取值范围: underline:为文字加下划线
overline:为文字加上划线
line-through:为文字加删除线
blink:使文字闪烁
none:不显示上述任何效果

CSS连接属性:

a /所有超链接/

a:link /超链接文字格式/

a:visited /浏览过的链接文字格式/

a:active /按下链接的格式/

a:hover /鼠标转到链接/

鼠标

cursor:鼠标形状参

CSS鼠标形状参数表:

cursor:hand手

cursor:crosshair十字形

cursor:text" 文本形

cursor:wait沙漏形

cursor:move"十字箭头形:

cursor:help问号形

cursor:e-resize右箭头形

cursor:n-resize上箭头形

cursor:nw-resize左上箭头形

cursor:w-resize左箭头形

cursor:s-resize下箭头形

cursor:se-resize右下箭头形

cursor:sw-resize"左下箭头形

4.Float常跟属性值left、right、none

Float:none 不使用浮动

Float:left 靠左浮动

Float:right 靠右浮动

清除浮动 :clear:none|left|right|both

5.margin延伸(单独设置四边间距属性单词)简写写法:margin:上 右 下 左 (四个值) margin-left 对象左边外延边距 margin-left:80px; 左边外延距离80 margin-right 对象右边外延边距 margin-right:80px; 右边外延距离80 margin-top 对象上边外延边距 margin-top:80px; 上边外延距离80px
margin-bottom 对象下边外延边距 margin-bottom:80px; 下边外延距离80px

6.padding内补白(内边距)left right top bottom

padding-top:10px; /上边框留空白/

padding-right:10px; /右边框留空白/

padding-bottom:10px; /下边框留空白/

padding-left:10px; /左边框留空白/

7.position绝对定位absolute relative 固定 fixed 还有一个z-index

absolute :  将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。此时对象不具有边距,但仍有补白和边框

relative :  对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置

fixed left,right,top,bottom 对象固定一个位置

Z-index在使用绝对定位 position:absolute属性条件下使用才能使用。通常我们让不同的对象盒子以不同顺序重叠排列,我们就是要z-index样式属性

div{z-index:10}
注意:z-index的数值不跟单位。不用加上px.

z-index的数字越高越靠前,并且值必须为整数和正数(正数的整数)。就显示谁。如果二个div一起重叠,这个时候设置你想看到的div,那就可以把那个div的z-index设置大一点,这样就可以覆盖之前那个。

8.字体属性

1.color:加上颜色

2.font-size:20px;/每个浏览器默认的字体不一样的 谷歌的默认字体大小是16或者18/

x-small:较小

small:小x-small:较小

small:小xx-small:最小

medium:正常(默认值)

large:大

x-large:较大

xx-large:最大

2.font-style: oblique;(偏斜体) italic;(斜体) normal;(正常)

3.line-height: normal;(正常)

4.line-height:50px;/div的高度也是五十,这样你的内容结束平行居中/

5.font-weight: bold;(粗体) , lighter;(细体) normal;(正常),设置数字也是可以的 (100px,200px)

6.font-variant: small-caps;(小型大写字母) normal;(正常)

7.text-transform: capitalize;}(首字母大写) uppercase;(大写) lowercase;(小写) none;(无)

8.text-shadow:none:无阴影①:

第1个长度值用来设置对象的阴影水平偏移值。可以为负值②:

第2个长度值用来设置对象的阴影垂直偏移值。可以为负值

③:如果提供了第3个长度值则用来设置对象的阴影模糊值。不允许负值:设置对象的阴影的颜色。

举例:p{text-shadow:3px 10px rgba(0,0,0,.3);}

9.ul里面的属性:默认是实心圆,下面的就可以更改。

list-style-type:none; /不编号/

list-style-type:decimal; /阿拉伯数字/

list-style-type:lower-roman; /小写罗马数字/

list-style-type:upper-roman; /大写罗马数字/

list-style-type:lower-alpha; /小写英文字母/

list-style-type:upper-alpha; /大写英文字母/

list-style-type:disc; /实心圆形符号/

list-style-type:circle; /空心圆形符号/

list-style-type:square; /实心方形符号/

list-style-image:url(/dot.gif); /图片式符号/

list-style-position: outside; /凸排/

list-style-position:inside; /缩进/

10.随便举例几种字体:

font-family:“Courier New”, Courier, monospace, “Times New Roman”, Times, serif, Arial, Helvetica, sans-serif, Verdana

font-family: “Times New Roman”, Times, serif; font-size: 14px;

font-family:Arial,Helvetica,sans-serif;font-size:100%;

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

font-family:arial, sans-serif; font-size:12px;

区块

单词间距

1.word-spacing:

间隔距离

2.字母间距

letter-spacing:

字母间距

3.文本对齐

text-align:

参数的取值:

left:左对齐

right:右对齐

center:居中对齐

justify:相对左右对齐

4、垂直对齐

vertical-align:

参数

top:顶对齐

bottom:底对齐

text-top:相对文本顶对齐

text-bottom:相对文本底对齐

baseline:基准线对齐

middle:中心对齐

sub:以下标的形式显示

super:以上标的形式显示

5、文本缩进

text-indent: 缩进距离

12px相当于一个文字距离

6、空格

white-space:

参数

normal 正常

pre 保留

nowrap 不换行

7、显示样式

display:

参数

参数取值范围:

block:块级元素,在对象前后都换行

inline:在对象前后都不换行

list-item:在对象前后都换行,增加了项目符号

none:无显示

8.text-overflow超出范围显示…

text-overflow参数值和解释:
clip :  不显示省略标记(…),而是简单的裁切
ellipsis :  当对象内文本溢出时显示省略标记(…)

white-space:同一行内显示所有文本文字,让所有文字内容中一排显示不换行。

white-space: nowrap;

overflow:hidden;
text-overflow:ellipsis;

9.Overflow参数值解释 :
visible :  不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window或frame的大小。并且clip属性设置将失效
auto :  此为body对象和textarea的默认值。在需要时剪切内容并添加滚动条,DIV默认情况也是这个值,但需要设置时候设置即可
hidden :  不显示超过对象尺寸的内容
scroll :  总是显示滚动条

CSS的小总结
1.CSS属性的缩写

缩写的好处:

1、简化代码。一些CSS属性简写可以减少CSS代码从而减少CSS文件的占用字节,加快网页下载速度和网页加载打开速度。

我们开发中,简写代码量是必要的。

如:font-size:12px; font-weight:bold; font-family:Arial, Helvetica, sans-serif; line-height:30px;

我们可以简写缩写为font:12px/22px bold Arial, Helvetica, sans-serif;

前面说的margin,padding,都可以简写。我就不全部写出来了

2.div和span的区别:

二者都是用来划分区间的。它们差别就在于div是块级元素,不会其他元素在同一行;span是内联元素,可以与其他元素位于同一行。

1.1:span标签是不能改大小的。span占用的是内容有多宽就占用多宽的空间距离,如果你把span标签的大小想改掉就必须把它变成块级元素。display:inline-block;

块级元素有:div p form ul ol li …

行内元素有:span img a…

3.盒子模型(Box Model)

盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin)、边框(Border)、内边距(Padding)和内容(Content)。

以上属性截取自css属性大全

4.css伪类与伪元素

css用对元素的不同状态可以用不同的方式获取
前端基础——css基础

相关标签: 基础学习 css