css常见属性

块级元素行内元素

块级(block-level); 行内(内联、inline-level)
块级可以包含块级和行内,行内只能包含文本和行内
块级占据一整行空间,行内占据自身宽度空间,在同一行里可以放很多
宽高设置、内外边距的差异

块级元素(block-level)

div h1 h2 h3 h4 h5 h6 p hr
form ul dl ol pre table
li dd dt tr td th
div,标题,表单,段落,列表,表格
块级元素是占据一整行的空间的

行类元素(inline-level)

em strong span a br img 
button input label select textarea
code script
块级元素可以包含块级元素和行内元素,行内元素只能包含行内元素和文本

宽高

只对块级元素设置生效,对行内元素设置无效

边框

border-width, border-color, border-style
.box {
  border-width: 1px;粗细
  border-color: red;颜色
  border-style: solid;类型   /* dotted  dash*/
}
/* 简写 */
.box2 {
  border: 1px dotted #ccc;
}
 border-bottom:none;指不要下边框
border-bottom:1px red solid;指只设置下表框

.ss{
  height:20px;
  width:20px;
  border-top:solid 20px red ;
  border-left:solid 20px green;
  border-right:solid 20px orange;
  border-bottom:solid 20px blue;
}
.ss{
  height:0px;
  width:0px;
  border-top:solid 20px red ;
  border-left:solid 20px transparent;透明
  border-right:solid 20px transparent;
  border-bottom:solid 20px blue;
}
.circle{
  width:100px;
  height:100px;
  border:1px solid black;
  border-radius:50px;radius 对应的是四个角,
  /*border-radius:50px 25px 10px 5px;*/四个角可以分别设置
}

边距

盒模型

padding

padding代表内边距,有四个方向的值,可以合写,值可以是数值也可以是百分比(相对于父容器、不是自身)
padding-top
padding-right
padding-bottom
padding-left
 padding: 20px; /* padding: 20px 20px 20px 20px; */
padding: 10px 20px; /* padding: 10px 20px 10px 20px; */
padding: 10px 20px 30px; /* padding: 10px 20px 30px 20px; */

.box{
  border:1px solid black;
  width:200px;
  padding:10px 20px 10px 20px;顺序是指上,右,下,左
  padding:10px 20px 
}

margin

margin 代表外边距,有四个方向的值,可以合写,值可以是数值也可以是百分比(相对于父容器、不是自身)。还可以是负值
外边距合并问题
margin-top
margin-right
margin-bottom
margin-left
 margin: 20px; /* margin: 20px 20px 20px 20px; */
margin: 10px 20px; /* margin: 10px 20px 10px 20px; */
margin: 10px 20px 30px; /* margin: 10px 20px 30px 20px; */

margin: 0 auto

对于块级元素 设置 margin: 0 auto 可达到居中目的
.box {
  /* margin: 0 auto; 实际上是下面两个起作用 */
  margin-left: auto;
  margin-right: auto;
}
margin: 0 auto是让块级元素居中

*

去除元素默认 margin padding

*{
  margin:0;
  padding:0;
}
把页面上的所有元素的margin和padding都设为0,

http://js.jirengu.com/noxohopayo/1/edit?html,css,output

块级元素和行内元素区别区别:

1,块级元素,占据的空间一整行,可以直接设置宽度和高度。,
2,行内元素,占据的空间是他自身。多个行内元素可以并排排列,而且行内元素只能放置行内元素和一些文本,
而且行内元素,没法设置宽高,就算设置了,也没有用。
3,对于块级元素来说,我们可以设置margin和padding,而对于行内元素来说设置上下margin和padding是不
生效的,只设置左右margin和padding才生效

display

块级:block, list-item, table
行内: inline, inline-table, inline-block
 display'
Value:    inline | block | list-item | inline-block | table | 
|inline-table | table-row | table-cell | none | inherit
Initial:    inline
Applies to:   all elements
Inherited:    no
很多样式的属性是继承的,
很多是不继承的,border,margin,padding

font,文本,字体

font-size:字体大小
font-family:字体,宋体、微软雅黑、Arial等
font-weight:文字粗度,常用的就是默认值regular和粗体bold
line-height:行高,可以用百分比、倍数或者固定尺寸
以上属性都可继承给子元素

用法

body{
  font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}加引号的是确定是一个字符,因为中间有空格,不然就当成两个字符了

p {
  line-height: 1.5;
  font-size: 14px;
  font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;字体优先级顺序
  font-weight: bold;
}

font-family

使用浏览器打开页面时,浏览器会读取 HTML 文件进行解析渲染。当读到文字时会转换成对应的 unicode码
(可以认为是世界上任意一种文字的特定编号)。再根据HTML 里设置的 font-family 
(如果没设置则使用浏览器默认设置)去查找电脑里(如果有自定义字体@font-face ,则加载对应字体文件)
对应字体的字体文件。找到文件后根据 unicode 码去查找绘制外形,找到后绘制到页面上

英文由26个字母组成,可以有很多的漂亮的字体
一般中文的字体库很少,中文的单词很多,不太容易做很多类型的字体,

font-family的写法
在 CSS 中设置字体时,直接写字体中文或英文名称浏览器都能识别,直接写中文的情况下编码
(GB2312、UTF-8 等)不匹配时会产生乱码。保险的方式是将字体名称用Unicode来表示
宋体 | SimSun | \5B8B\4F53 黑体 | SimHei | \9ED1\4F53 微软雅黑 | Microsoft YaHei |
| \5FAE\8F6F\96C5\9ED1

打开控制台console输入: escape('微软雅黑'),得到"%u9ED1%u4F53",把 %u替换成 \
Chrome最小字体
chrome 默认字体大小16px, 最小字体 12px 解决方案

文本

text-align:文本对其方式 left、center、right、justify(左右对其)
text-indent:文案第一行缩进距离
text-decoration:(文本装饰) none、underline、line-through(删除线)、overline
color:文字颜色
text-transform:改变文字大小写none、uppercase(大改小)、lowercase(小改大)、
capitalize(首字母大写)
word-spacing:可以改变字(单词)之间的标准间隔
letter-spacing:字母间隔修改的是字符或字母之间的间隔

http://js.jirengu.com/vatumomata/1/edit
http://book.jirengu.com/jrg-team/frontend-knowledge-ppt/code/CSS/demo2.html

范例:http://js.jirengu.com/riyu/1/edit?html,css,output

行内元素居中

![](http://upload-images.jianshu.io/upload_images/4626319-1dd5f44b63ff162b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

单行文本溢出加...

.card > h3{
  white-space: nowrap;不换行,不折行
  overflow: hidden;溢出后隐藏
  text-overflow: ellipsis;文本溢出加‘...’
}

http://js.jirengu.com/dode/1/edit?html,output

颜色

单词: red, blue, pink, yellow, white, black
十六进制: #000000(黑色), #fff(白色), #eee, #ccc, #666, #333, #f00, #0f0, #00f
rgb: rgb(255, 255, 255), rgb(0, 255, 0)
rgba: rgba(0,0,0,0.5)

单位

px: 固定单位
百分比(宽高?文字大小?line-height? position?)
em: 相对单位,相对于父元素字体大小
rem: 相对单位,相对于根元素(html)字体大小
vw vh: 相对单位,1vw 为屏幕宽度的1% 兼容性

a 链接设置颜色

a 有默认颜色和样式,会覆盖继承的样式

a {
  color: red;
  text-decoration: none;
}

列表去掉点

ul{
  list-style: none;
}
/*也可这样*/
li{
  list-style: none;
}

隐藏or透明

opacity: 0 ; 透明度为0,整体
visibility: hidden ; 和opacity:0 类似
display:none; 消失,不占用位置
background-color: rgba(0,0,0,0.2) 只是背景色透明

inline-block

既呈现 inline 特性(不占据一整行,宽度由内容宽度决定)
又呈现 block 特性 (可设置宽高,内外边距)
缝隙问题

line-height
line-height: 2
line-height: 100%
height = line-heihgt 来垂直居中单行文本

向 div 元素添加阴影:

div
{
    box-shadow: 10px 10px 5px #888888;
}

http://js.jirengu.com/xuxerolovu/1/edit?html,css,output

你可能感兴趣的:(css常见属性)