学习CSS3

1、盒子阴影 box-shadow属性

box-shadow: h-shadow v-shadow blur spread color inset;

box-shadow: 10px 10px 5px #888888;

说明
h-shadow必需的,水平阴影的位置,允许负值
v-shadow必需的,垂直阴影位置,允许负值
blur可选,模糊距离
spread可选,阴影的大小
color可选,阴影的颜色
inset可选,从外层的阴影(开始时)改变阴影内侧阴影

2、 渐变(gradients)

css3渐变(gradients)可以让你在两个或者多个指定的颜色之间显示平稳的过渡

css3定义了两种类型的渐变(gradients):

  1. 线性渐变(linear-gradient):向下/向上/向左/向右/对角方向
  2. 径向渐变(radial-gradient):由它的中心定义

线性渐变: 

从上到下渐变:background-image: linear-gradient(#e66465, #9198e5);

多个颜色从上到下渐变:background-image: linear-gradient(red, yellow, green);

从左到右渐变:background-image: linear-gradient(to right, red , yellow);

从左上角到右上角:background-image: linear-gradient(to bottom right, red yellow);

指定角度:background-image: linear-gradient(-90deg, red, yellow);

 彩虹颜色:

#rowcolor{
background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}

渐变使用透明度:background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));

透明度(transparent): 0表示完全透明,1表示完全不透明

重复的线性渐变:background-image: repeating-linear-gradient(red, yellow 10%, green 20%);

径向渐变:background-image: radial-gradient(shape size at position, start-color,..., last-color);

shape:circle(圆形)、ellipse(椭圆,默认值)

size:closest-side、farthest-side、closest-corner、farthest-corner(默认值)

颜色节点均匀分布:background-image: radial-gradient(red, yellow, green);

颜色节点不均匀分布:background-image: radial-gradient(red 5%, yellow 15%, green 60%);

圆形的渐变:background-image: radial-gradient(circle, red, yellow, green);

带尺寸的渐变:background-image: radial-gradient(closest at 60% 55%, red, yellow, back);

重复的径向渐变:background-image:repeating-radial-gradient(red, yellow 10%, green 15%);

3、text-overflow属性 

文本溢出属性,指定向用户如何显示溢出内容

 text-overflow: clip|ellipsis|string|initial|inherit;
属性
clip剪切文本
ellipsis显示省略符号...来表示被修剪的文本
string使用给定的字符串来代表被修剪的文本
initial设置位属性默认值
inherit从父元素继承该属性

4、word-break和word-wrap属性

word-break: normal|break-all|keep-all;

normal:使用浏览器默认的换行规则

break-all:允许在单词内换行

keep-all:只能在半角空格或连字符处换行

word-wrap: normal|break-word;

normal:只在允许的短字点换行(浏览器保持默认处理)

break-word:在长单词或URL地址内部进行换行

5、word-spacing字间距和letter-spacing字符间距

word-spacing 表示字间距,对中文是无效的,仅对英文字单词起作用 

letter-spacing属性用于设置文本字符的间距表现,对中文和英文都起效果

<style>
  h3 {
    word-spacing: 20px; /*英文单词间距*/
  }
  h3 span {
    letter-spacing: 20px; /*span标签中汉字间距*/
  }
</style>
<body>
  <h3>I love you<span>&nbsp;我的宝贝!</span></h3>
</body>

 6、CSS按钮

可以直接使用font-size属性来设置按钮大小,使用opacity属性为按钮添加透明度(看起来类似disabled属性的效果),使用cursor属性并设置“not-allowed”来设置一个禁用的图片

.disabled {
    font-size: 20px;
    opacity: 0.6;
    cursor: not-allowed;
}

7、CSS分页实例

<style>
        ul.page {
            display: inline-block;
            padding: 0;
            margin: 0;
        }
        
        ul.page li {
            display: inline;
        }
        
        ul.page li a {
            color: black;
            float: left;
            padding: 8px 16px;
            text-decoration: none;
        }
        
        ul.page li a:active {
            background-color: #4CAF50;
            color: white;
        }
        
        ul.page li a:hover {
            background-color: #ddd;
        }
    </style>
<body>
    <ul class="page">
        <li><a href="#">«</a></li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">5</a></li>
        <li><a href="#">»</a></li>
    </ul>
</body>

7、浏览器前缀

属性名描述
-webkit-谷歌浏览器的私有前缀
-moz-火狐浏览器的私有前缀
-ms-IE、Edge浏览器的私有前缀
-o-欧朋浏览器的私有前缀

8、盒子模型占位计算

盒模型的内容区大小,可视宽高,盒模型实际占位宽度

1.盒模型的内容区大小

在标准盒子模型中 content内容区,也就是盒子里面能留给子元素的宽度和高度大小,也就意味着盒子里面的内容的最大面积就是width和height形成的矩形面积。

  • 如果只有一个子元素,子元素的宽度超过父元素,就会溢出
  • 如果有多个子元素,子元素(行内元素,行内块元素)的宽度加起来超过父元素,那么超过的那些子元素就会换行显示

 2.盒模型可视宽高

可视区宽 = 宽度 + 左右内边距 + 左右边框宽

可视区高 = 高度 + 上下内边距 + 上下边框宽

3.盒模型实际占位宽度

实际占位宽 = 宽度 + 左右内边距 + 左右边框宽 + 左右外边距

实际占位高 = 高度 + 上下内边距 + 上下边框宽 + 上下外边距

9、box-sizing 怪异盒模型

标准盒模型:box-sizing:  content-box;  盒子的大小会因为设置的内外边距和边框而变化,即外扩

怪异盒模型:box-sizing:  border-box;  盒子的实际大小是设置的宽高,不会因为内外边距和边框的大小而变化,即内缩

将盒子添加box-sizing: border-box; 属性,盒子的width、height数字就表示盒子实际占有的宽度(不含margin);即padding、border变为内缩的,不再外扩(box-sizing属性兼容到IE9)

box-sizing属性大量应用于移动网页制作中,因为它结合百分比布局、弹性布局等非常好用,在PC页面开发中使用较少

 

 

 为什么div和button按钮的大小有差别(同样的代码,在浏览器中显示有差异)?

 因为button按钮默认是 怪异盒模型,即自带box-sizing: box-border;  属性。button是内缩的,div是外扩的

10、标准盒模型和怪异盒模型的区别

标准盒模型和IE盒模型的区别在于设置width和height属性时,所对应的范围不同:

  • 标准盒模型的width和height属性的范围只包含了content内容区
  • IE盒模型(怪异盒模型)的width和height属性包含了border、padding和content
  • button标签是典型的怪异盒模型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值