码迷,mamicode.com
首页 > Web开发 > 详细

css

时间:2020-02-29 22:39:35      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:隐藏元素   尺寸   场景   poi   之间   hone   through   transform   模型   

css简介
css(Cascading Style Sheets)层叠样式表
作用 修饰网页信息的显示样式
层叠性 给同一个元素添加相同的css属性,属性值会存在覆盖问题
从上往下 下面代码覆盖上面代码

css语法
选择符+声明
选择符{属性:属性值}
eg:div{width:500px;}
注意
属性 属性值用:号
声明用;号结尾
属性有多个属性值时,属性值彼此不分先后

css的三种方法
1、内部样式表 在<head>里写<style> 再在里面写 选择器+声明
2、外部样式表 创建外部css文件,通过link标签引入
<link rel =“stylesheet” type=“text/css” href=“地址”>
3、内联样式表 直接在标签里写css
<div style=""></div>

css的作用域
1、内联css是当前标签(小部分情况)
2、内部css是当前文件
3、外部css是关联的所有文件(大部分情况)

css的优先级
1、内联css优先级最高
2、优先级与代码顺序有关,后写的代码优先级高

css选择器
定义 表示要定义的对象,可以是元素本身,也可以是一类元素或者制 定名称的元素
类型
1、元素选择器

2、id选择器
语法 在标签里加属性id=“名字”
#名字{属性:属性值;}
只能起一个名字,只能用英文,不能用关键字(所有标签和属性都是关键字)
作用 创建网页的外围结构

3、class选择器 (类名)
语法 在标签里加属性class=“名字”
.名字{属性:属性值;}
可以起多个名字

4、群组选择器
语法 标签1,标签2,标签3{属性:属性值;}

5、包含选择器
语法 标签1 标签2{属性:属性值;}
标签1包含标签2

6、伪类选择器
例如 元素名:hover{属性:属性值;} (鼠标划过改变效果)
用hover改变另一个元素,必须是父子关系

7、通配选择器
语法 *{属性:属性值;} 选中页面上所有元素
作用 清除页面上所有元素的默认边距

选择器的权重

css的权重表达方式 0000(二进制)
元素选择器 0001
class选择器 0010
id选择器 0100

子选择符 0000
属性选择符 0010
伪类选择符 0010
伪元素选择符 0001
包含选择符 为包含选择符的权重之和
行内样式 1000
继承样式 0000

代码注释
ctrl + /
html <!--内容-->
css /*--内容--*/

浮动的简单应用 float
div 块级元素
独占一行显示,可以直接写大小
span 行内元素
多个在一行显示,不可以直接写大小

语法 float:left;左浮动
float:right;右浮动

fireworks的用法
1.把图片拖拽到FW图标上
2.视图-标尺
3.ctrl+滚轮 放大缩小 ctrl+z返回
4.按住标尺拉出一条线,到指定位置放手
5.保证在指针工具处,按住shift键测量最近的两条线之间的距离。
6.锁住图层 (图层->位图上锁)
7.滴管工具-取色板复制颜色 自己添加#+复制色值
8.微调,双击线,改数字
9.按住空格 拖动图片

1000phone网页设计(色块)
1、分区域 外围+版心 div(id)>div(class),起名字class(css清除默认样式 margin 0 padding 0),版心 通用css 宽 居中
注释>logo (css宽高 背景颜色 居中margin auto)
注释>banner 轮播图
注释>ad广告
注释>news新闻
注释>links链接
注释>bottom底部
注意
提出重复代码 群组选择器 多起一个class名
版心里继续分块 div(class)

css核心属性

属性值包括 法定属性值 和 数值+单位

一、文本的相关属性

1、字体大小 (默认16px)
font-size:数值+单位;
注意 单位有 px(像素) em(参考当前字体大小) pt(point-磅)
默认情况下 1em=1ppi=16px 9pt=12px

2、文本颜色
color:#颜色值;
十六进制 黑0-F白
R G B
00 00 00 黑

3、字体
font-family:“字体1”,“字体2”
注意 中文字体加“” 英文字体中有空格时加“”

4、字体加粗
font-weight:100-500(正常)600-900(加粗);

5、检索或设置文本大小写
text-transform:none 没有
capitalize 首字母大写
uppercase 将单词全部变成大写
lowercase 将单词全部变成小写

6、字体风格-倾斜
font-style:normal 常规
italic 倾斜小
oblique 倾斜大
注意 倾斜区别一般不明显

7、水平对齐方式
text-align:left 左
center 居中
right 右
justify 两端对齐(中文不支持)
注意
图片 支持 text-align:center

8、垂直对齐方式
vertical-align:top 顶部
middle 中部
bottom 底部(默认)

9、行高
line-height:数值+单位;
注意
当行高 大于 容器高度时,内容摆放位置 中间偏下
当行高 等于 容器高度时,内容摆放位置 垂直居中
当行高 小于 容器高度时,内容摆放位置 中间偏上

行高是由 文字大小 + 上行间距 + 下行间距

10、首行缩进
text-indent:数值+单位;(最好写em)
注意
可以写负值
只对第一行起作用

11、文本修饰
text-decoration:none 无
underline 下划线
overline 上划线
line-through 删除线

12、字间距(英文或中文)
letter-spacing:数值+单位;

13、词间距(英文)
word-spacing:数值+单位;

二、列表的相关属性 ul>li

1、基本符号样式
list-style-type:none 无
disc 实心圆
circle 空心圆
square 实心方块

2、图片符号样式
list-style-image:url(路径);

3、定义符号位置
list-style-position:outside 外面
inside 里面
注意
简写 list-style

1000phone-1网页设计

css清除默认样式
*{margin:0;padding:0;}
ul,li{list-style:none;}
a{text-decoration:none;}

1、图片
上填充 padding-top:数值
左填充 padding-left:数值

2、导航
无序列表 ul>li>a
display:block;变成块元素

3、广告
图片+h3+h4+span或p
非规则的边框用切图

盒模型
组成 content(内容)+padding(填充)+border(边框厚度)+margin(盒子间距)

1、padding
作用
改变子元素(文字)在父元素的位置
注意
如果想保证原来尺寸不变,在宽高上减去相应的值
padding区域可以加背景图片
语法
一个值 上下左右 padding:20px;
两个值 上下+左右 padding:20 40
三个值 上+左右+下 padding:20 40 60
四个值 上+右+下+左(顺时针)padding:20 40 60 80
单独方向
padding-top 上
padding-bottom 下
padding-left 左
padding-right 右

2、border
语法
border:2px(宽度) soild(样式) blue(颜色);
全称 border-width border-style border-color
边框类型
solid(实线)
dashed(虚线)
dotted(点状线)
double(双线)
none(无)
单独方向
border-top(上)
border-bottom(下)
border-left(左)
border-right(右)

3、margin(盒子间距)
作用
改变盒子与盒子之间的距离
语法
一个值 上下左右 margin:20px;
两个值 上下+左右 margin:20 40
三个值 上+左右+下 margin:20 40 60
四个值 上+右+下+左(顺时针)margin:20 40 60 80
单独方向
margin-top(上)
margin-bottom(下)
margin-left(左)
margin-right(右)

解决margin塌陷办法
1、给父元素添加overflow:hidden;
2、给父元素加padding

三、背景的相关属性

1、背景颜色
语法 background-color:颜色;

2、背景图片
语法 background-image:url(“路径”);

背景图片的实现原则
容器尺寸等于图片尺寸,背景图片正好显示在容器中
容器尺寸大于图片尺寸,背景图片将默认平铺,直至铺满元素(一个靓仔变四个靓仔)
容器尺寸小于图片尺寸,只显示容器/元素/范围以内的背景图

3、背景图片的平铺属性
语法 background-repeat:no-repeat;(不平铺)
repeat(平铺)
repeat-x(横向平铺)
repeat-y(纵向平铺)

4、背景图定位
语法 background-position:水平方向(正值为右)+垂直方向(正值为下)
水平方向取值 left/center/right/数值 左中右
垂直方向取值 top/center/bottom/数值 上中下

5、背景图固定
语法 background-attachment:scroll;(滚动)默认
fixed(固定)
注意
容器要产生滚动条

6、背景图的缩写
语法 background:属性值1 属性值2 属性值3 ...;

img和background的区别

1、<img>双 html的标签
需要src引入图片

2、background-images:url(“路径”) css的属性
通过url()引入背景图
容器需要有大小才能添加

怪异盒模型(IE盒)
语法 box-sizing:border-box;
注意 要算进 border 和 padding

标准盒模型
语法 box-sizing:content-box;

float浮动
图片和文字进不去浮动区域

元素类型

1、块状元素(div、p、h1-h6、hr、列表ul ol dl、表单form)
特点
1.可以设置宽高(width、height)
2.独占一行摆放显示
3.一般作为容器,要正确嵌套标签 如:div>p、p>span

2、内联元素-行内元素(a、br、span、em、i、strong、b)
特点
1.不可以写宽高(width、height)
2.多个在一行摆放显示
3.padding:上下 margin:上下 不能正常显示
注意
img、input、textarea 可以设置宽高

元素类型的转换
盒子模型可通过 display 属性来改变默认的显示类型

语法 dispaly:block;(块状)常用,有显示功能
inline (内联)
inline-block(内联+块状)可设置宽高、一行多个
none (隐藏元素)
float(浮动)相对于inline-block
注意
大部分内联元素 display 属性默认为 inline,其中img,input,textarea 默认为 inline-block

伪类选择器
元素:hover{}(鼠标滑过)
元素:nth-child(数字){}(第几个元素)

background:url()
可以插入多个背景图片

元素的定位
语法 position:static;(默认值,默认没有定位)
absolute(依据父元素的绝对定位,若父元素没有定位,则依据根元素html定位) 会脱离布局流 原来位置不占位
relative(相对定位,相对本身的位置定位 口诀:子绝对,父相对) 不会脱离布局流,原来的位置占位
fixed(固定定位,固定在窗口的指定位置,无论窗口怎么滚动)
注意
后三个可配合 top bottom left right

让子元素在父元素上下左右居中
语法
position:absolute;
left:50%;
right:50%;
margin-left:负子元素尺寸一半;
margin-right:负子元素尺寸一半;

层叠属性
语法 z-index:数字(可负数);(默认0)
作用 让重叠的元素 比较大小 数值越大 就在最上层显示

子选择器
语法 父元素>子元素{} 如 ul>li
作用 只能选择第一代子元素

锚点(锚链接)
作用 网页中的超链接,实现同一页面内的不同位置进行跳转 (不同页面也行)
语法 给目标元素起名字 如 <div id=“名字”>
给锚链接起名字 如 <a href=“#名字”>

滚动条设置
语法 overflow、overflow-x、overflow-y
属性值 visible(默认值)
scroll(加滚动条)
hidden(超出就隐藏)
auto(内容超出容器自动加滚动条)

CSS Sprites的原理(图片整合技术)
精灵图(雪碧图)

一、作用
将多张图片合为一张整图,然后用 background-position 来实现背景图片的定位

二、图片整合的优势
1)通过图片整合来减少对服务器的请求次数,从而提高页面的加载速度

2)通过整合图片来减小图片的体积

CSS Sprites的实现方法
滑动门技术
1、定义
它利用CSS背景图像可层叠性,并允许彼此之上进行滑动来创造一些特殊动态效果

2、特点
通过滑动门技术,可以使CSS设计出来的导航菜单兼具传统布局的图像效果,与CSS布局的高效扩展性

1、宽度自适应
若块级元素宽度不设置,或者设置成100%,都是占据其父级元素的一整行
应用场景:
(1)页面最外层的盒子一般都要占据屏幕的大小,所以宽度100%。
(2)子元素使用百分比表示盒模型任意部分大小的话,代表的是子元素盒模型任意部分尺寸=父元素宽度*百分比

2、高度自适应窗口高度
body,html{height:100%;}
最外层的大盒子{height:100%;}

注意
高度自适应
父元素高度由子元素撑开
(1)若是子元素都浮动了,父元素不会被撑开(高度塌陷)

解决办法(清除浮动):
1、给父元素加最后一个子元素(块级元素)
{
height:0;
overflow:hidden;
clear:both;
}
缺点:造成不必要的浪费

2、给父元素添加
{overflow:hidden;}
缺点:可能造成需要的部分被隐藏掉

3、伪元素清除法(万能清除法)
.clearfix:after
{
content:"";
display:block;
height:0;
overflow:hidden;
visibility:hidden;
clear:both;
zoom:1;
} ==>base.css
备注:到时做案例的时候,给父元素添加类名 clearfix 即可

(2)预防子元素会没有内容,撑不开父元素的情况

解决办法:
给父元素添加最小高度 min-height
当内容高度小于最小高度时,按最小高度显示
当内容高度大于最小高度时,按内容高度显示
注意
兼容写法
{
min-height:数值;
_height:数值; _下划线是过滤器,只IE6认识
}

隐藏元素的方法

1、display:none;
元素隐藏,不占位
2、visibility:hidden;
元素隐藏,占位
3、overflow:hidden;
超出部分隐藏

鼠标指针语法
cursor:auto 默认
crosshair 加号
text 文本
wait 等待
help 帮助
progress 过程
inherit 继承
move 移动
ne-resize 向上或向右移动
pointer 手形

表格(table)

1、单元格间距
语法 border-spacing:数值;

2、边框合并
语法 border-collapse:separate(默认)
collapse(合并)

3、无内容时单元格设置
语法 empty-cells:show(显示)
hide(隐藏)

4、设置表格标题的位置
语法 caption-side:top(上)默认
bottom(下)
left、right(左、右)只有火狐支持

让多个li在ul里居中
语法
ul{
display:table;
margin:0 auto;
/* text-align: center; */
}

关于ul 及 li 横向滚动
css部分
ul用到 文本不换行 white-space: nowrap;
ul用到了元素超出宽度滚动 overflow: auto;
当然还有 li 标签的 display:inline-block;

css

标签:隐藏元素   尺寸   场景   poi   之间   hone   through   transform   模型   

原文地址:https://www.cnblogs.com/imbacool/p/12386178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!