2.4 css样式 常用属性

215 阅读12分钟

*1.背景

属性描述
background在一条声明中设置所有背景属性的简写属性。
background-attachment设置背景图像是固定的还是与页面的其余部分一起滚动。
background-clip规定背景的绘制区域。背景图片或颜色)是否延伸到边框下面 padding/border/content-box :超出部分将被剪切掉
background-color设置元素的背景色。red/rgb(,,)/rgba(0-255, ,,0-1/#ff0000
background-image设置元素的背景图像。 url(images/2.gif)
background-origin规定在何处放置背景图像。padding/border/content-box
background-position设置背景图像的开始位置。 center top:中间的上面(center、top、bottom、right、left)
background-repeat设置背景图像是否及如何重复。no-repeat/repeat-x/repeat-y :纵向平铺
background-size规定背景图像的尺寸。contain/cover/多个背景:多个值,隔开/宽 高

background-position

注意: background-position是[background-position-x]和[background-position-y]的简写,它们允许您分别设置不同的坐标轴的值。

  • 1.x+y
background-position:(20px,7px)
  • 2.上下:center、top、bottom、左右:right、left 可以混合使用
  • 3.长度值+百分比:
  background-position: 20px 10%;
  • 4.关键字+长度值/百分比
 background-position: top 20px;
    1. 4-value语法
 background-position: top 20px right 10px;//将背景从顶部调整20px,从右侧调整10px:

- background-image 渐变

渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。

渐变分为:

  • 线性渐变:沿着某条直线朝一个方向产生渐变效果。linear-gradient
background:-webkit-linear-gradient(方向, 起始颜色, 颜色n,终止颜色);
background-image: -webkit-linear-gradient(方向, 起始颜色, 终止颜色);
background-image: -webkit-linear-gradient(right, yellow, green);
//-webkit-:浏览器私有前缀,必须加,都不一样。
//00方向省略默认表示:top
- 方向可以是:`left top`:左上角-右下角、
`left``right``top``bottom`、角度`30deg`(指的是顺时针方向30°)。

1

  • 径向渐变:从一个中心点开始沿着四周产生渐变效果。radial-gradient
background-image: radial-gradient(辐射的半径大小, 中心的位置, 起始颜色, 终止颜色);
background-image: radial-gradient(100px, at center,yellow ,green);
中心点的位置可以是:at  left  right  center bottom  top。如果以像素为单位,则中心点参照的是盒子的左上角。
  • 重复渐变。

background-image 重复

有四个背景图像,但是只有两个背景位置值。前两个位置值将应用于前两个图像,然后它们将再次循环—image3将被赋予第一个位置值,image4将被赋予第二个位置值。

background-attachment

  • fixed:不随内容和页面滚动而滚动
  • scroll:随页面滚动而滚动
  • local:局部值将背景固定在设置的元素上,因此当您滚动元素时,背景也随之滚动。

- clip-path:裁剪出元素的部分区域做展示

  • clip-path属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。虽然clip-path不是背景属性,但这个属性非常强大,但往往会结合背景属性一起使用,达到一些效果。
  • clip-path属性的好处是,即使做了任何裁剪,容器的占位大小是不变的
   /* 裁剪出圆形区域 */
        clip-path: circle(50px at 100px 100px);
        transition: clip-path .4s;

www.runoob.com/cssref/pr-c…

背景简写顺序:cirap

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

*2.文本

属性描述
color*设置文本颜色。
direction指定文本的方向 / 书写方向。
letter-spacing设置字符间距。 cm
line-height*设置行高。
text-align指定文本的水平对齐方式。
text-decoration指定添加到文本的装饰效果。 none 去掉下划线、underline 下划线、line-through 中划线、overline 上划线
text-indent指定文本块中首行的缩进。 2em;首行缩进两个汉字,单位比较奇怪,叫做em,em就是汉字的一个宽度。
text-shadow*指定添加到文本的阴影效果。/水平位移 垂直位移 模糊程度 阴影颜色。 /可以设置多个阴影,每个阴影之间使用逗号隔开text-transform控制文本的大小写。uppercase大写、lowercase小写 、capitalize每个单词的首字母大写
text-overflow指定应如何向用户示意未显示的溢出内容。
unicode-bidi与 direction 属性一起使用,设置或返回是否应重写文本来支持同一文档中的多种语言。
vertical-align指定文本的垂直对齐方式。top、bottom、、、
white-space指定如何处理元素内的空白。
word-spacing设置单词间距。cm

*3.轮廓

属性描述
outline简写属性,在一条声明中设置 outline-color、outline-style 以及outline-width。
outline-color设置轮廓的颜色。
outline-offset指定轮廓与元素的边缘或边框之间的空间。
outline-style设置轮廓的样式。
outline-width设置轮廓的宽度。

outline-offset

属性在元素的轮廓与边框之间添加空间。元素及其轮廓之间的空间是透明的。

outline-style

outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。 注释:轮廓线不会占据空间,也不一定是矩形。

none默认。定义无轮廓。
dotted定义点状的轮廓。
dashed定义虚线轮廓。
solid定义实线轮廓。
double定义双线轮廓。双线的宽度等同于 outline-width 的值。
groove定义 3D 凹槽轮廓。此效果取决于 outline-color 值。
ridge定义 3D 凸槽轮廓。此效果取决于 outline-color 值。
inset定义 3D 凹边轮廓。此效果取决于 outline-color 值。
outset定义 3D 凸边轮廓。此效果取决于 outline-color 值。
inherit规定应该从父元素继承轮廓样式的设置。

*4.列表

属性描述
list-style简写属性。在一条声明中设置列表的所有属性。type-position-image
list-style-image指定图像作为列表项标记。 list-style-image:url("/i/arrow.gif");
list-style-position规定列表项标记(项目符号)的位置。
list-style-type规定列表项标记的类型。

list-style-position

描述
inside列表项目标记放置在文本以内,且环绕文本根据标记对齐。
outside默认值。保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐。
inherit规定应该从父元素继承 list-style-position 属性的值。

list-style-type

描述
none无标记。
disc默认。标记是实心圆。
circle标记是空心圆。
square标记是实心方块。
decimal标记是数字。
decimal-leading-zero0开头的数字标记。(01, 02, 03, 等。)
lower-roman小写罗马数字(i, ii, iii, iv, v, 等。)
upper-roman大写罗马数字(I, II, III, IV, V, 等。)
lower-alpha小写英文字母The marker is lower-alpha (a, b, c, d, e, 等。)
upper-alpha大写英文字母The marker is upper-alpha (A, B, C, D, E, 等。)
lower-greek小写希腊字母(alpha, beta, gamma, 等。)
lower-latin小写拉丁字母(a, b, c, d, e, 等。)
upper-latin大写拉丁字母(A, B, C, D, E, 等。)
hebrew传统的希伯来编号方式
armenian传统的亚美尼亚编号方式
georgian传统的乔治亚编号方式(an, ban, gan, 等。)
cjk-ideographic简单的表意数字
hiragana标记是:a, i, u, e, o, ka, ki, 等。(日文片假名)
katakana标记是:A, I, U, E, O, KA, KI, 等。(日文片假名)
hiragana-iroha标记是:i, ro, ha, ni, ho, he, to, 等。(日文片假名)
katakana-iroha标记是:I, RO, HA, NI, HO, HE, TO, 等。(日文片假名)

5.滤镜 filter

比如说让图片变成灰度图的效果,可以这样设置滤镜:

<img src="3.jpg" style="filter:grayscale(100%)">

6.书写模式

书写模式是指文本的排列方向是横向还是纵向的。writing-mode writing-mode的三个值分别是:

  • horizontal-tb: 块流向从上至下。对应的文本方向是横向的。
  • vertical-rl: 块流向从右向左。对应的文本方向是纵向的。
  • vertical-lr: 块流向从左向右。对应的文本方向是纵向的。

7.字体

简写

font: 加粗 字号/行高 字体

font: 400 14px/24px "宋体";/*400是nomal,700是bold*/

font-family

  • 请以您需要的字体开始,并以通用系列结束(如果没有其他可用字体,则让浏览器选择通用系列中的相似字体)。字体名称应以逗号分隔。 www.w3school.com.cn/css/css_fon…
.p1 {
  font-family: "Times New Roman", Times, serif;
}

字体样式 font-style

  • normal - 文字正常显示
  • italic - 文本以斜体显示
  • oblique - 文本为“倾斜”(倾斜与斜体非常相似,但支持较少)

font-weight 属性指定字体的粗细:

p.normal {
  font-weight: normal;
}

p.thick {
  font-weight: bold;
}

font-variant

small-caps 字体:全部变为大写字母,但是大小比原来的小。

p.normal {
  font-variant: normal;
}

p.small {
  font-variant: small-caps;
}

font-size

注释:如果您没有指定字体大小,则普通文本(如段落)的默认大小为 16px(16px = 1em)。

body {
  font-size: 100%;
}

h1 {
  font-size: 2.5em;  //16px*2.5=  px
}


<h1 style="font-size:10vw">Hello World</h1>  
//“视口宽度”("viewport width")。
这样,文本大小将遵循浏览器窗口的大小,请调整浏览器窗口的大小,以查看字体大小如何缩放:视口(Viewport)是浏览器窗口的大小。 1vw = 视口宽度的 1%。如果视口为 50 厘米宽,则 1vw 为 0.5 厘米。

字体说明

1)网页中不是所有字体都能用,因为这个字体要看用户的电脑里面装没装,比如你设置:

font-family: "华文彩云";

上方代码中,如果用户的 Windows 电脑里面没有这个字体,那么就会变成宋体。

页面中,中文我们一般使用:微软雅黑、宋体、黑体。英文使用:Arial、Times New Roman。页面中如果需要其他的字体,就需要单独安装字体,或者切图。

2)为了防止用户电脑没有微软雅黑这个字体。就要用英语的逗号,提供备选字体。如下:(可以备选多个),如果用户电脑里没有安装微软雅黑字体,那么就是宋体。

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

3)我们须将英语字体放在最前面,这样所有的中文,就不能匹配英语字体,就自动的变为后面的中文字体:英文会采用Times New Roman字体,而中文会采用微软雅黑字体(因为美国人设计的Times New Roman字体并不针对中文,所以中文会采用后面的微软雅黑)。比如说,对于smyhvae哈哈哈这段文字,smyhvae会采用Times New Roman字体,而哈哈哈会采用微软雅黑字体。

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

4)所有的中文字体,都有英语别名。

font-family: "Microsoft YaHei";
font-family: "SimSun";

font:12px/30px  "Times New Roman","Microsoft YaHei","SimSun";

5)行高可以用百分比,表示字号的百分之多少。

一般来说,百分比都是大于100%的,因为行高一定要大于字号。

字体加粗:

复制代码

.div {
    font-weight: normal; /*正常*/
    font-weight: bold;  /*加粗*/
    font-weight: 100;
    font-weight: 200;
    font-weight: 900;
}

复制代码

在设置字体是否加粗时,属性值既可以填写normalbold这样的加粗字体,也可以直接填写 100至900 这样的数字。normal的值相当于400,bold的值相当于700。

6)字体的常见格式

TureTpe格式:(.ttf)

.ttf 字体是Windows和Mac的最常见的字体,是一种RAW格式。

支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome4+、Safari3+、Opera10+、iOS Mobile、Safari4.2+。

OpenType格式:(.otf)

.otf 字体被认为是一种原始的字体格式,其内置在TureType的基础上。

支持这种字体的浏览器有Firefox3.5+、Chrome4.0+、Safari3.1+、Opera10.0+、iOS Mobile、Safari4.2+。

Web Open Font Format格式:(.woff)

woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离。

支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome6+、Safari3.6+、Opera11.1+。

Embedded Open Type格式:(.eot)

.eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有IE4+。

SVG格式:(.svg)

.svg字体是基于SVG字体渲染的一种格式。

支持这种字体的浏览器有Chrome4+、Safari3.1+、Opera10.0+、iOS Mobile Safari3.2+。

总结:了解了上面的知识后,我们就需要为不同的浏览器准备不同格式的字体。通常我们会通过字体生成工具帮我们生成各种格式的字体,因此无需过于在意字体格式之间的区别。

8.图标

先添加到<head>:

 //谷歌图标:
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

// Bootstrap 图标
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

// Font Awesome 图标
<script src="https://kit.fontawesome.com/yourcode.js"></script>

9.表格

CSS 表格属性

属性描述
border简写属性。在一条声明中设置所有边框属性。
border-collapse规定是否应折叠表格边框。
border-spacing规定相邻单元格之间的边框的距离。
caption-side规定表格标题的位置。
empty-cells规定是否在表格中的空白单元格上显示边框和背景。
table-layout设置用于表格的布局算法。