Web/03-CSS进阶/CSS的一些小知识.md
2021-07-29 11:08:52 +08:00

131 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 认识Web和Web标准
publish: false
---
<ArticleTopAd></ArticleTopAd>
## 隐藏盒子的几种方式
隐藏盒子,有以下几种方式:
1方式一
```
overflowhidden; //隐藏盒子超出的部分
```
2**方式二**
```
display: none; 隐藏盒子,而且不占位置(用的最多)
```
比如,点击`X`,关闭京东首页上方的广告栏。
3方式三
```
visibility: hidden; //隐藏盒子,占位置。
visibility: visible; //让盒子重新显示
```
4方式四
```
opacity: 0; //设置盒子的透明度(不建议,因为内容也会半透明),占位置
```
4方式五
```
Position/top/left/...-999px //把盒子移得远远的,占位置。
```
5方式六
```
margin-left: 1000px;
```
### 设置盒子的半透明
方式一:`opacity: 0.4`。优点是方便。缺点是:里面的内容也会半透明。
方式二css3的技术来解决半透明。如下
- background: rgba(0,0,0,0.3);
- background: rgba(0,0,0,.3);
备注:`a`指的是alpha透明度。
### 给标签的形状设置为圆角矩形
```
border-radius: 50%;
border-radius: 10px 0 0 10px;
```
### 行高的问题:儿子把父亲撑开
比如对于下面这样的标签:
```
<div>
<a href=""></a>
</div>
```
前置条件如果我们给父亲div的行高设为31px然后给儿子a的行高也设置为31
结果当我们给儿子a设置了字体属性之后会发现父亲被撑高为32px了。因为font字体自身会比较大多撑出了一个像素。
解决办法:**行内元素尽量不要设置font属性**。对于行内元素而言如果它和父亲都设置了行高就不要去给自己设置font属性了。要么就不要同时设置行高。
### 背景图不能撑开盒子
高和行高都可以城开盒子,但背景图不能撑开盒子。
## JS
### 超链接`<a>`的href跳转
一个空白的超链接如下:
```
<a href=""></a>
```
当点击超链接时,由于 href 的属性值的不同,可以产生很多种情况:
```bash
href="" //刷新页面
href="#" //跳转到当前页面的顶部(不会刷新)
href="javascript:void(0)" // 什么都不做
href="javascript:;" // 什么都不做
```