CSS属性
一、宽和高
width属性可以为元素设置宽度。
height属性可以为元素设置高度。
块级标签才能设置宽度,内联标签的宽度由内容来决定。
div {width: 1000px;background-color: red} /*块级标签设置了width会生效*/
span {width: 1000px;background-color: red} /*内联标签设置了width不生效*/ 二、字体属性
1、文字字体:font-family
font-family可以把多个字体名称作为一个“回退”系统来保存。
如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。 body {
font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif
} 2、字体大小:font-size(默认字体大小是12px或者100%)
p {
font-size: 14px;
} p {
font-size: 100%;
} 3、字体粗细:font-weight
描述
normal 默认值,标准粗细
bold 粗体
bolder 更粗
lighter 更细
100~900 设置具体粗细,400等同于normal,而700等同于bold
inherit 继承父元素字体的粗细值

div {
font-weight: bold;
font-weight: 800;
} 4、文本颜色
三种方式:
1.颜色的名称-如:red
2.十六进制值-如: #FF0000
3.一个RGB值 - 如: RGB(255,0,0)
还有rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间。 div {
color: green;
color: #00FF00;
color: rgb(251,97,19);
} 三、文字属性
1、文字对齐:text-align 属性规定元素中的文本的水平对齐方式。
描述
left 左边对齐 默认值
right 右对齐
center 居中对齐
justify 两端对齐
div {
text-align: center;
} 2、文字装饰
text-decoration 属性用来给文字添加特殊效果。
描述
none 默认。定义标准的文本。
underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
inherit 继承父元素的text-decoration属性的值。

常用的为去掉a标签默认的自划线:
a {
text-decoration: none;
} 3、首行缩进
text-indent 属性用来缩进
将段落的第一行缩进 32像素:
p {
text-indent: 32px;
} 四、背景属性
1、背景相关属性
1.背景颜色
background-color: red; 2.背景图片
background-image: url('1.jpg'); 3.背景重复
background-repeat: no-repeat;
repeat(默认):背景图片重复排满整个网页
repeat-x:背景图片只在水平方向上重复
repeat-y:背景图片只在垂直方向上重复
no-repeat:背景图片不重复 4.背景位置
background-position: right top; background-position: 200px 200px; 5.简写(背景颜色、图片地址、重复次数、位置)
上面背景属性可以直接简写成:
background:red url('xx.jpg') no-repeat right top; 6.背景图片大小background-size
background-size:100% 100%; 让背景图片填充满整个容器(自适应) 7.雪碧图
有些网站会把很多小图标放在一张图片上,然后根据位置去显示图片。减少频繁的图片请求。 8.background-attachment
background-attachment属性的默认值是 scroll,也就是说,在默认的情况下,背景会随文档滚动,
如果将图像background-attachment属性设置为fixed,图片会相对于当前窗口固定住,因此不会受到滚动的影响
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
margin: 0;
}
.box {
width: 100%;
height: 500px;
background: url("pic.JPG") no-repeat center center;
background-attachment: fixed;
background-size:100%;
}
.c1 {
height: 500px;
background-color: red;
}
.c2 {
height: 500px;
background-color: blue;
}
.c3 {
height: 500px;
background-color: greenyellow;
}
</style>
</head>
<body>
<div class="c1"></div>
<div class="box"></div>
<div class="c2"></div>
<div class="c3"></div>
</body>
</html>

背景固定





五、边框
1、边框属性
border-width:边框粗细
border-style:边框样式
border-color:边框颜色 /*CSS样式*/
#d1 {
border-width: 2px;
border-style: solid;
border-color: red;
} 可以简写:
#d1 {
border: 2px solid red;
} 2、边框样式style可取的值
描述
none 无边框。
dotted 点状虚线边框。
dashed 矩形虚线边框。
solid 实线边框。

3、除了可以统一设置边框外还可以单独为某一个边框设置样式
border是对整个边框进行统一的样式修改,
我们也可以对某条边框进行样式的修改,如下:
#d1 {
border-top-style:dotted;
border-top-color: red;
border-top-width: 100px;
border-right-style:solid;
border-bottom-style:dotted;
border-left-style:none;
} 某一边框也是可以简写:
#d1 {
border-left:solid black 10px;
} 4、border-radius
这个属性能实现圆角边框的效果
例如:
向div元素添加圆角边框:
div {
border:2px solid;
border-radius:25px;
} 圆形边框:将border-radius设置为长或高的一半即可得到一个圆形。
div {
border:2px solid;
border-radius:50%;
} 六、display属性
用于控制HTML元素的显示效果。
意义
display:"none"
此元素不会被显示
display:"block"
此元素将显示为块级元素,此元素前后会带有换行符。
display:"inline"
此元素会被显示为内联元素,元素前后没有换行符。
display:"inline-block"
行内块元素,使元素同时具有行内元素和块级元素的特点。
特点:
inline:
1.使元素变成行内元素,拥有行内元素的特性,即可以与其他行内元素共享一行,不会独占一行.
2.不能更改元素的height,width的值,大小由内容撑开.
3.可以使用padding,margin的left和right产生边距效果,但是top和bottom就不行.
block:
1.使元素变成块级元素,独占一行,在不设置自己的宽度的情况下,块级元素会默认填满父级元素的宽度.
2.能够改变元素的height,width的值.
3.可以设置padding,margin的各个属性值,top,left,bottom,right都能够产生边距效果.
inline-block:
1.结合了inline与block的一些特点,结合了上述inline的第1个特点和block的第2,3个特点.
2.用通俗的话讲,就是不独占一行的块级元素,或者说是可以设置宽高的行内元素。 注意:
display:"none"与visibility:hidden的区别:
visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。 七、CSS盒子模型
1、几个概念
margin:用于控制盒子与盒子之间的距离
padding:用于控制盒子内容与边框之间的距离
Border(边框):围绕在内边距和内容外的边框
Content(内容):盒子的内容,显示文本和图像 2、margin外边距
2-1、具体写法
.c1 {
margin-top:5px;
margin-right:10px;
margin-bottom:15px;
margin-left:20px;
} 2-2、简写
1.四个参数的顺序分别是:上 右 下 左(顺时针)
.c1 {
margin: 5px 10px 15px 20px;
} 2.三个参数,第一个用于上,第二个用于左 右,第三个用于下
.c1 {
margin: 10px 20px 30px;
} 3.两个参数的顺序:第一个用于上下,第二个用于左右
.c1 {
margin: 10 20;
} 上下外边距0,左右自动适应
.c1 {
margin: 0 auto;
} 4.一个参数:应用于四边
.c1 {
margin:10px;
} 3、padding内填充
.padding-test {
padding-top: 5px;
padding-right: 10px;
padding-bottom: 15px;
padding-left: 20px;
} 简写:四个参数的顺序分别是:上 右 下 左
.padding-test {
padding: 5px 10px 15px 20px;
} padding的简写方式和margin类似:
提供一个参数,用于四边;
提供两个参数,第一个用于上-下,第二个用于左-右;
如果提供三个参数,第一个用于上,第二个用于左-右,第三个用于下;
提供四个参数值,将按上-右-下-左的顺时针顺序作用于四边; 八、float浮动
在CSS 中,任何元素都可以浮动。
浮动元素会生成一个块级框,而不论它本身是何种元素。 关于浮动的两个特点:
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。 1、float的三种取值
left:向左浮动
right:向右浮动
none:默认值,不浮动 2、浮动的副作用
3、clear清除浮动
clear属性规定元素的哪一侧不允许其他浮动元素
描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。

注意:clear属性只会对自身起作用,而不会影响其他元素。

解决float副作用:要解决哪个盒子的浮动就给哪个盒子应用这个样式
.clearfix:after {
content: "";
display: block;
clear: both;
} 4、display:"inline-block"布局和float浮动布局区别:
a.不同之处:对元素设置display:inline-block ,元素不会脱离文本流,而float就会使得元素脱离文本流,且还有父元素高度坍塌的效果
b.相同之处:能在某程度上达到一样的效果 使用场景:
a.对于横向排列东西来说,我更倾向与使用inline-block来布局,因为这样清晰,也不用再像浮动那样清除浮动,害怕布局混乱等等。
b.对于浮动布局就用于需要文字环绕的时候,毕竟这才是浮动真正的用武之地,水平排列的是就交给inline-block了。 5、清除浮动例子
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body {
margin: 0;
} .c1 {
border: 1px black solid;
} .c2, .c3 {
height: 100px;
width: 200px;
background-color: red;
border: solid 1px black;
} .c4 {
width: 100%;
height: 200px;
background-color: deeppink;
} .left {
float: left;
} .right {
float: right;
} .clearfix:after {
content: '';
display: block;
clear: both;
}
</style> </head>
<body>
<!--可以尝试第一个div不用clearfix样式的时候,进行对比-->
<div class="c1 clearfix">
<div class="c2 left"></div>
<div class="c3 right"></div>
</div> <div class="c4">
<div>哈哈哈哈哈</div>
</div> </body>
</html>

清除浮动


6.结果

清除浮动后的结果

未清除浮动的结果

7.清除浮动的第二种方法

让父容器变得可以自动"清理"(clearing)子元素的浮动,从而能够识别出浮动子元素的位置,不会出现显示上的差错。
要做到这点,只要为父容器加上一条"overflow: hidden"的CSS语句就行了。关于为何父容器可以自动识别:由于加上overflow:hidden之后要计算超出的大小来隐藏,所以父容器会自动撑开自己把所有的子元素放进去,同时会计算浮动的子元素。

但这种方法的缺点主要有二个,一个是IE6不支持,另一个是一旦子元素的大小超过父容器的大小,就会出显示问题。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body {
margin: 0;
} .c1 {
border: 1px black solid;
} .c2, .c3 {
height: 100px;
width: 200px;
background-color: red;
border: solid 1px black;
} .c4 {
width: 100%;
height: 200px;
background-color: deeppink;
} .left {
float: left;
} .right {
float: right;
} .clearfix{
overflow: hidden;
}
</style> </head>
<body>
<div class="c1 clearfix">
<div class="c2 left"></div>
<div class="c3 right"></div>
</div> <div class="c4">
<div>哈哈哈哈哈</div>
</div> </body>
</html>

方法2

九、overflow溢出
overflow属性
描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。

注意:
overflow(水平和垂直均设置)
overflow-x(设置水平方向)
overflow-y(设置垂直方向)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body{
margin: 0;
} /*把div设置成一个圆形框*/
.avatar{
height:110px;
width:110px;
border:2px solid red;
border-radius:50%;
overflow:hidden;
} /*让图片填充这个圆框*/
.avatar>img{
width:100%;
} </style> </head>
<body>
<div class="avatar">
<img src="pic.JPG">
</div> </body>
</html>

圆形头像例子



十、position定位
1、static
static 默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。 2、relative(相对定位):相对标签原来的位置做的定位,原来的位置还占着。
相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。
要注意的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。
对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。 3、absolute(绝对定位):相对已经定位过的祖先标签做参照物进行定位,原来的位置会关闭,元素定位后生成一个块级框,且元素是脱离文档的(浮起来)
定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,
那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。
元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。
这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。
另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。 4、fixed(固定):固定在屏幕的某个位置,固定定位的元素也是脱离文档的(浮起来)
fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考物进行定位,当出现滚动条时,对象不会随着滚动。
而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,
因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。
在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。 5、例子:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body{
margin:0;
} .c1,.c2,.c3{
height:200px;
width:200px;
} .c1{
background: red;
} .c2{
background-color: green;
position: relative;
left: 200px;
top: -200px; } .c3{
background: blue;
} </style> </head>
<body>
<div class="c1"></div>
<div class="c2"></div>
<div class="c3"></div>
</body>
</html>

相对定位


<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body {
margin: 0;
} .c0, .c2, .c3 {
height: 200px;
width: 200px;
} .c0 {
background-color: blue;
} .c1 { /*若注释c1的相对定位,则c2的父元素(c1)没有进行定位,那么c2就会根据body来定位,c2就会把c3覆盖了*/
position: relative;
left: 200px
} .c2 {
background-color: red;
position: absolute;
top: 200px;
} .c3 {
background-color: green;
} </style>
</head>
<body>
<div class="c0"></div> <div class="c1">
<div class="c2"></div>
</div> <div class="c3"></div> </body>
</html>

绝对定位


<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
margin: 0;
}
.c1 {
color:red;
background-color: deeppink;
border: 1px solid black;
width: 80px;
height: 40px;
line-height: 40px; /*将行高设置成标签的高度可以实现垂直居中*/
text-align: center;
position: fixed;
bottom: 50px;
right: 50px;
}
</style>
</head>
<body> <div class="c1">返回顶部</div>
</body>
</html>

fixed



十一、z-index和opacity
1、z-index
设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上。z-index 仅能在定位元素上奏效(relative absolute fixed)。 2、opacity:设置透明度 3、例子
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.cover {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
/*background-color: rgb(0,0,0);*/
background-color: rgba(0,0,0,0.4);
z-index: 99;
/*opacity: 0.4;*/
}
.modal {
background-color: white;
height: 300px;
width: 400px;
z-index: 1000;
position: absolute;
top: 50%;
left: 50%;
margin-top: -150px;
margin-left: -200px;
}
</style>
</head>
<body> <div>嘿嘿嘿。</div> <div class="cover"></div>
<div class="modal">
<form action="">
<p>用户名<input type="text"></p>
<p>密码<input type="password"></p>
<p><input type="submit" value="提交"></p>
</form>
</div>
</body>
</html>

模态框


4、rgba(0,0,0,0.4)和 opacity: 0.4的区别
.c1 {
height: 100px;
width: 100%;
color: red;
background-color: rgba(0,0,0,0.4); <!--rgba应用在哪里就只有那里生效,这里只有背景颜色会有透明度-->
}
.c2 {
height: 100px;
width: 100%;
color: red;
background-color: rgb(0,0,0);
opacity: 0.4; <!--整个c2内的所有元素都生效,都有透明度-->
} 总结:绝对定位、固定定位、浮动可以脱离文档流(但是background-attachment:fixed不可以) 5、弹性盒子
.flex {
  display: flex;
  align-items: center;
  justify-content:center;
}

CSS之样式属性(背景固定、圆形头像、模态框)的更多相关文章

  1. 0010 CSS字体样式属性:font-size、font-family、Unicode字体、font-weight、font-style、综合设置、color、 text-align、line-height、text-indent、text-decoration、、、

    CSS字体样式属性.调试工具 目标 应用 使用css字体样式完成对字体的设置 使用css外观属性给页面元素添加样式 使用常用的emment语法 能够使用开发人员工具代码调试 1.font字体 1.1 ...

  2. css常用样式属性详细介绍

    对于初学css的来说,肯定会觉得这么多样式不好记,而且记住了也容易忘,其实刚开始我们不用去记这么多的样式,确实是记了也会忘,刚开始只需记住一些常用的就可以了,然后在慢慢的使用过程当中接触并学习一些高级 ...

  3. CSS常用样式属性

    1.CSS字体和文本相关属性 属性 font-family 规定文本的字体系列,比如:“serif” ''sans-serif" font-size 规定文本的字体尺寸 font-style ...

  4. CSS字体样式属性

    font-size 字号大小 一般推荐使用相对长度(px ,em),不推荐使用绝对长度(in,cmm,mm,pt) font-family 字体 1.可以同时指定多个字体,中间用英文状态的逗号隔开,英 ...

  5. CSS尺寸样式属性

    尺寸样式属性介绍 属性 值 含义 height auto:自动,浏览器会自动计算高度length:使用px定义高度%:基于包含它的块级对象的百分比高度 设置元素高度 width 同上 设置元素的宽度 ...

  6. CSS样式属性——背景

     背景——包括背景颜色.背景图片,以及背景图片的控制 background-color:设置背景色(transparent表示透明的背景色) background-image:设置元素的背景图片 ba ...

  7. css内容样式属性

    设置元素的最大高度.最小高度.最大宽度.最小宽度,用max-height.min-height.max-width.min-width. visibility:设置元素是否可见.visible和hid ...

  8. CSS 所有样式属性大复习

    1.背景与前景 /*背景色,样式表优先级高*/ background-image:url(路径);    /*设置背景图片(默认)*/ background-attachment:fixed;     ...

  9. css clip样式 属性功能及作用

    clip clip 在学前端的小伙伴前,估计是很少用到的,代码中也是很少看见的,但是,样式中有这样的代码,下面让我们来讲讲他吧! 这个我也做了很久的开发没碰到过这个属性,知道我在一个项目中,有一个功能 ...

随机推荐

  1. Android远程桌面助手之系统兼容篇

    Android远程桌面助手理论上兼容Android4.4至Android8.1之间所有的原生安卓系统,其他第三方ROM,如MIUI.Flyme.EMUI和Smartisan OS等也都陆续测试过,目前 ...

  2. 免费试用MongoDB云数据库 (MongoDB Atlas)教程

    众所周知,MongoDB包括社区版和企业版,但不止如此,MongoDB公司还有MongoDB Atlas:Database as a Service. MongoDB Atlas delivers t ...

  3. C#List<object>排序

    //定义一个集合 var list = new List<Object>();//这里的Object为对象类型 //假设list已经有数据存进去,根据对象的某个字段升序或降序 var or ...

  4. AngularJS学习之旅—AngularJS 模型(四)

    1.AngularJS ng-model 指令 1.ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值. 2.ng-model 指令可 ...

  5. NSTimer 不工作 不调用方法

    比如,定义一个NSTimer来隔一会调用某个方法,但这时你在拖动textVIew不放手,主线程就被占用了.timer的监听方法就不调用,直到你松手,这时把timer加到 runloop里,就相当于告诉 ...

  6. python3 判断数据类型

    def estType(): eventList = [1, 'Tom', {'name': 'Lucy', 'age': 16, 'grade': 98}] print(type(eventList ...

  7. Java之IO流进阶篇:内存流,打印流,对象流

    Java中的IO流,即为输入输出流.所谓输入输出流,都是相对于程序而言,程序就是这个参照物.一张图看懂输入输出流: 输入流抽象基类:InputStream,Reader 输出流抽象基类:OutputS ...

  8. 英语口语练习系列-C14-常用片语

    句子 1. Some ads are extremely persuasive and we find we buy products we don't really need. 有一些广告非常有说服 ...

  9. Python基础之迭代器和生成器

    阅读目录 楔子 python中的for循环 可迭代协议 迭代器协议 为什么要有for循环 初识生成器 生成器函数 列表推导式和生成器表达式 本章小结 生成器相关的面试题 返回顶部 楔子 假如我现在有一 ...

  10. Django中的信号

    信号 Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到. 简单来说,信号允许特定的sender通知一组receiver某些操作已经发生. 这在多处代码和同一事件 ...