周末总结2

CSS基础

#  定位

视觉格式化模型,大体上将页面中盒子的排列分为三种方式:

1. 常规流

2. 浮动:float

3. 定位:position

定位:手动控制元素在包含块中的精准位置

涉及CSS属性:position

## position

- 默认值:static,静态定位

- relative: 相对定位

- absolute: 绝对定位

- fixed: 固定定位

一个元素,只要position的值不是static,认为该元素是一个定位元素。

定位元素会脱离常规流(相对定位除外)

一个脱离了文档流的元素:

1.文档流中的元素摆放时,会忽略脱离了文档流的元素

2.文档流中元素计算自动高度时,会忽略脱离了文档流的元素

## 相对定位

不会导致元素脱离文档流,只是让元素在原位置上进行偏移。

可以通过四个CSS属性设置其位置:

- left

- right

- top

- bottom

盒子的偏移不会对其他盒子造成任何影响。

如果出现矛盾时它以左边和上边为准

## 绝对定位

1. 宽高为auto,适应内容

2. 包含块变化:找祖先元素中第一个定位元素,该元素的填充盒为其包含块.若找不到,则他的包含块为整个网页(初始化包含块)

## 固定定位

其他情况和绝对定位完全一样。

包含块不同: 固定为视口 (浏览器的可视窗口)


 

## 定位下的居中

某个方向居中:

1. 定宽(高)

2. 将左右 (上下) 距离设置为0

3. 将左右 (上下) margin设置为auto

绝对定位和固定定位中,margin为auto是,会自动吸收剩余空间

## 多个定位元素重叠时

堆叠上下文

设置z-index,通常情况下,该值越大,越靠近用户

只有定位元素设置z-index有效

z-index可以是负数,如果是负数,则遇到常规流、浮动元素,则会被其覆盖

## 补充

- 绝对定位、固定定位元素一定是块盒

- 绝对定位、固定定位元素一定不是浮动,浮动会被强制转换为none

- 没有外边距合并

## 二级菜单

### 隐藏二级菜单

给二级菜单display属性设置为none,在其hover时将display设置为block

## 透明

每个颜色都具有透明通道,0 ~ 1  (1是完全不透明,0是完全透明,可取小数)

1. rgba(红、绿、蓝、alpha)

alpha表示透明通道

2. hex: #红绿蓝透

# 更多的样式

## 透明度

1. opacity:他设置整个元素的透明度

2. 在颜色位置设置alpha通道(rgba)

## 鼠标

使用cursor设置

可以将鼠标样式设置为图片,但图片的扩展名为.ico

```

    cursor:url("img/2.ico"),auto; **auto表示如果图片格式浏览器识别不了,就用默认样式 **

```

## 盒子隐藏

1. display:none,不生成盒子

2. visiblity:hidden,生成盒子,只是从视觉上移除盒子,盒子仍然占据空间。  默认值为visible

## 背景图

### 和img元素的区别

img元素是属于HTML的概念

背景图属于CSS的概念

1. 当图片属于网页内容时,必须使用img元素

2. 当图片仅用于网页美化时,必须使用背景图


 

### 涉及的CSS属性

1. background-image

eg: background-image:url(../imgs/2.ico);


 

2. background-repeat (为速写属性){background-repeat-x或background-repeat-y}

   设置重复次数  

默认情况下,背景图会在横坐标和纵坐标中进行重复

3. background-size

一般图片大小不变,通过background-size设置尺寸

预设值:contain、cover,类似于object-fit

数值或百分比

contain: 是图片完整显示且不改变比例

cover: 保证图片撑满区域且比例不变

百分比相对于盒子的大小,前为横向,后为纵向

4. background-position

设置背景图的位置。

预设值:left、bottom、right、top、center

数值或百分比(百分比不常用)

雪碧图 (精灵图)  (spirit)

5. ackground-attachment

通常用他控制背景图是否固定

6. 背景图和背景颜色混用

在没有背景图的地方就会使用背景颜色

7. 速写属性

background   内部先写position/size(这两个顺序与格式必须是这样)

HTML进阶

# iframe元素

通常用于在网页中嵌入另外一个网页

iframe 可替换元素

1. 通常是行盒

2. 通常显示的内容取决于元素的属性

3. CSS不能完全控制其中的样式

4. 具有行块盒的特点

# 在页面中使用flash

在网页上嵌入flash文件

object元素

```

  <object data="" type=""></object>

```

data表示数据路径   type表示嵌入资源的类型(用标准格式MIME)

MIME:多用途互联网邮件类型:

比如,资源是一个jpg图片,MIME:image/jpeg

embed元素

他们都是可替换元素

# 表单元素

一系列元素,主要用于搜集用户数据

## input元素

输入框

- type属性: 输入框类型

常见:

type:text, 表示普通文本输入框

type:password, 密码框  (输入内容后会自动变成:...)

type:date, 日期选择框,兼容性问题

type:search, 搜索框,兼容性问题

type:number, 数字输入框,兼容性问题 ,可设置最大值、最小值、步径

type:checkbox, 多选框  在内部加name属性,对多选框进行分组   默认选中: 元素加checked属性

type:radio, 单选框   默认选中: 元素加checked属性

type:file, 文件选择

不常见:

type:range, 滑块  可设置最大值、最小值

type:color, 颜色选择器

- value属性: 输入框的值

- placeholder属性: 显示提示的文本,如果文本框没有内容时显示,点一下提示文本还在

  可通过伪元素选择器 ::placeholder进行更改样式

#### input元素可以制作按钮 (快过时)

以下取值时可表示按钮

type:reset  重置按钮

type:submit  提交按钮

type:button  普通按钮


 

## select元素

下拉列表选择框

select:表示下拉列表

option:表示下拉列表的选项

通常和option元素配合使用

默认中哪个,就在元素中加属性 selected (布尔属性)

多选,加属性 multiple (布尔属性)   选择时按住Ctrl或Shift键用鼠标选择

## textarea元素

文本域,多行文本框

属性:

cols="30" rows="10"

表示英文30列,10行

无空白折叠

## 按钮元素

button

type属性: reset、 submit、 button, 默认值时submit

# 表单状态

readonly属性: 布尔属性,是否只读,不会改变表单显示样式

disabled属性: 布尔属性,是否禁用,会改变表单显示样式

可通过伪类:disable 设置此时显示样式

# 配合表单元素的元素

## label元素

普通元素,通常配合单选和多选框使用

可以使点击选项值时也能被选中

-显示关联

可以通过for属性,让label元素关联某个表单元素,for属性值:关联的表单元素id值

-隐式关联

## datalist

数据列表

该元素本身不会显示到页面,通常与普通文本框配合

起提示作用


 

## form元素

通常情况下,会将整个表单元素,放置在form元素内部,作用是当提交表单时,会将form元素内部的表单内容以合适的方式 提交到服务器。

form元素对开发静态页面没有什么意义。

action属性:表示把表单提交给谁  不写会提交给当前页面

method属性: 表示提交方式  属性值:GET 或POST

***给服务器传输数据,有name属性才能提交数据,提交的是value值, 文字是给用户看的**

## fieldset元素

表单分组

子元素:legend元素,表示分组标题

# 美化表单元素

## 新的伪类

1. focus

元素聚焦时的样式


 

tabindex属性可以设置聚焦顺序  (按Tab键可按照顺序切换页面聚焦)

outline-offset: 表示外边框偏移量

2. checked

单选框或多选框被选中的样式

## 常见用法

1. 重置表单元素样式

2. 设置textarea是否允许调整尺寸

resize属性:

- both:默认值,水平竖直都可调整

- none : 水平竖直都不可

- horizontal : 水平可

- vertical :竖直方向可以调整尺寸

3. 文本框边缘到内容的距离

        /* 方式一: padding */

        /* input{

            padding:0 10px;

        } */

        /* 方式二: text-indent */

        input,textarea{

            text-indent:each-line;

        }

4. 控制单选和多选的样式

##  表单练习

border-radius为速写属性

    border-top-right-radius:0;

    border-bottom-right-radius:0;

溢出的部分就算设置了背景颜色也无法遮挡位于他后边的元素

overflow属性:溢出部分处理

cursor属性: 设置鼠标样式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值