学习CSS3 (一)

地址(╬ ̄皿 ̄)=○#( ̄#)3 ̄)

层叠样式表  cascading style sheets

1.  字体

自定义字体:将 .ttf 字体文件 保存在 font 目录下。  使用 @font-face 指定字体的名字和路径,注意只能写在外部,不能写在选择器里面

<style type="text/css">
       @font-face {
            font-family: "gadugi";
            src: url("font/gadugi.ttf");
        }
        .box1{
            font: 40px "gadugi";
        }
</style>

制作【字体图标】方法地址φ(>ω<*)

这里要注意的是,如果使用 iconfont 直接生成的话,前面要加 iconfont

<i class="iconfont icon-shanchu"></i>

如果使用 icoMoon生成的话,可以不写iconfont 

<i class="icon-shanchu"></i>

原因在于:选择器,前者使用:

.iconfont{
  font-family: "iconfont" !important;
}
.icon-shanchu:before{
  content: "\e625";
}

后者使用:[class^="icon-"]  类名以icon- 开头的所有元素,[class*="  icon-"] 类名包含   icon- (前面有个空格)的所有元素,地址

[class^="icon-"],[class*=" icon-"]{
  font-family: "iconfont" !important;
}
.icon-shanchu:before{
  content: "\e625";
}

2. 透明:

之前是使用   rgb(0,0,0);  现在使用  rgba(0,0,0,1); 第4位表示透明度,取值范围 0~1

background-color: rgba(0,0,0,0.5);

可以直接使用   opacity: 0.5;  设置透明度,取值范围也是 0~1

学到一招,F12控制台时,按shift,鼠标点击 rgba()能够切换为 #fffff 格式

3.文字阴影。 第二个是 x 轴偏移量,第三个是y轴偏移量, 第4个是 阴影的length(默认为0,越大则阴影越模糊)

text-shadow: pink 10px 10px 100px;

这里的颜色当然可以使用  rgba(), rgb()

text-shadow: rgba(0,0,0,0.5) 10px 10px 100px;

设置背景的大小:

background: url("1.png") no-repeat fixed;
background-size: 100% 100%;

背景模糊:

filter: blur(10px);

 

==========================================================================================

这个主讲人讲的太烂了,换一个黑马的视频学习:  地址( • ̀ω•́ )✧这老师讲的既详细又有趣

1. css命名规范:  不要使用下划线 _ ,尽量使用 中划线 - 

头部:  header      内容:  content/container    尾部: footer   导航: nav   子导航:  subnav  侧栏: sidebar

栏目:  column        页面外围控制整体布局宽度: wrapper       登录条:   loginbar     标志:  logo  题目 title

广告:  banner     页面主体:main     热点:  hot   新闻: news   下载:download     标签 tab  提示信息: msq

菜单: menu   子菜单:  submenu   搜索:  search   友情链接:  friendlink   版权: copyright   滚动 scroll   小技巧tips

2.  一般网页不用纯黑色,用淡灰色:   #3c3c3c 

body{
  color: #3c3c3c;
  font-size: 16px;
}

href 和 src 的区别:  地址

<link rel="stylesheet" href="1.css"/>
<script src="1.js"></script>

display: block;

display: inline;  

display: inline-block; 

background-size:  50% 50%;  会导致图片失真. 最好只写一个, 这样会自动匹配,图片不会失真  background-size: 50%;

用的最多的是  cover

background: gray url(image/1.png) no-repeat;
background-size: cover;

多背景 的情况: 使用逗号, 记住  要在 最后一组 定义  background-color;

background: url(image/1.png) no-repeat left top,
            url(image/2.png) no-repeat right bottom gray;

3. 凹凸效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        body{
            background-color: #ccc;
        }
        div{
            color: #ccc;
            font: 700 80px "微软雅黑";
        }
        div.ao{
            text-shadow: 1px 1px #000, -1px -1px #fff;
        }
        div.tu{
            text-shadow: -1px -1px #000, 1px 1px #fff;
        }
    </style>
</head>
<body>
    <div class="ao">凹的文字</div>
    <div class="tu">凸的文字</div>
</body>
</html>

这里 font: 700 80px "微软雅黑";  其中 fonr-weight 为400的话相当于 noraml,  为700相当于 bold

4. 经常使用这种方式进行网页布局: 

.header{
   width: 960px;
   margin: 0 auto;
}

 清除元素默认内外边距

* {
  margin: 0;
  padding: 0;
}

 行内元素(display: inline; )  是没有上下外边距 和  上下内边距的,   只 可以设置 左右 内/外边距。

垂直方向的外边距会合并, margin-top  和 margin-bottom

如果是父子元素,  父元素的margin-top 将从 子元素的margin-top和父元素的margin-top中选出一个最大的值

<head>
    <style type="text/css">
       .father{
            width: 200px;
            height: 200px;
            background-color: #bfa;
            margin-top: 30px;
        }
        .son{
            width: 100px;
            height: 100px;
            background-color: #fba;
            margin-top: 60px;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son"></div>
    </div>
<hr/>
</body>

这里 可以看出, 本意是 son 要与 father 拉开60px 的距离, 结果变成 两个一起 向下拉了60px距离.

 解决这种问题:  可以给  father  添加 1px  的 border

border: 1px solid white;

 或者给 father 添加 1px 的 内边距

padding: 1px;

或者给 father 添加     (开启BFC)

overflow: hidden;

 

 

padding 不影响 盒子宽度的情况:  没有设置 width; 就不会被撑开.  或者继承了父元素的宽度(默认和父亲一样宽),但自己没有明确设置宽度,也不会被撑开

 

参照视频写了个[搜索趣图]: 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        * {
            padding: 0;
            margin: 0;
        }
        ul li {
            list-style: none;
        }
        .searchPis{
            width: 250px;
            height: 380px;
            border: 2px solid rgb(236,239,242);
            border-top: 4px solid #ff8400;
            margin: 100px;
        }
        .searchPis h3{
            height: 35px;
            line-height: 35px;
            font-size: 16px;
            font-weight: normal;
            padding-left: 8px;
            border-bottom: 2px solid rgb(236,239,242);
        }
        .searchPis img{
            margin: 8px 0 0 8px;
        }
        .searchPis ul li{
            margin-left: 8px;
            height: 30px;
            line-height: 30px;
            font-size: 14px;
            background: url("dot.png") left center no-repeat;
            background-size: 5px 5px;
        }
        .searchPis li a {
            margin-left: 14px;
            text-decoration: none;
            color: #484848;
        }
    </style>
</head>
<body>
    <div class="searchPis">
        <h3>搜索趣图</h3>
        <img src="4.gif" width="234px" height="234px" alt=""/>
        <ul>
            <li><a href="#">皮卡丘,快使出十万伏特!!</a></li>
            <li><a href="#">去吧,皮卡丘,就决定是你了!!</a></li>
            <li><a href="#">皮卡,皮卡皮卡丘~</a></li>
        </ul>
    </div>
</body>
</html>

结果: 

5. 使用的方便程度:    width >   padding  >  margin

box-sizing: content-box;  以前的盒模型, 设置了 width, 再设置 padding 或 border, 盒子总宽度会被撑开

box-sizing: border-box;  新的盒模型,设置了 width,  就是固定大小,不会被 padding或border给撑开

box-shadow

 

浮动 float --->  目的是 让多个块级元素在一行显示.

那使用 display: inline-block; 不是也可以吗?  存在的缺点是中间存在空格

, 你要写成 <div></div><div></div>  而不能写成  <div></div>       <div></div> (书写代码时要写在一行,不能换行,不能有空格)

通常做法是 给 要浮动的子元素 添加一个将它包起来的 父元素,这样就不会影响之后的布局.

清除浮动的方式一:  (这里 content 加了个点,  因为 firefox7.0版本前会生成空格)

.clearfix:after {
   content: ".";
   display: block;
   height: 0;
   visibility: hidden;
   clear: both;
}
.clearfix {
   *zoom: 1;
}

清除浮动的方式二:  小米商城中的写法:

.clearfix{
  *zoom:1
}
.clearfix:before,
.clearfix:after 
   content:" ";
   display:table
}
.clearfix:after {
   clear:both
}

做的效果图:   这是我写的代码地址:   github地址(*・ω< )  

 闲来无事,在codepen学着做了几个小样式: 

第一,   codepen地址 ヾ(◍°∇°◍)ノ゙   ,  以及我写的代码地址:  github地址(๑╹◡╹)ノ"""

 第二,  地址 (*/ω\*)  , 以及我写的代码地址: github地址ヽ(・ω・´メ)

 

1,这个布局很有意思  display: flex;  目前只懂得如何居中显示,可能只有在codepen网站用的比较多

.wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
}

这里的 height: 100vh; 相当于 height: 100%;  但是有个好处是当元素没有内容时候,设置height:100%该元素不会被撑开,

但是设置height:100vh,该元素会被撑开,和屏幕高度一致。

2,之前只知道 position: static; 是默认值,设置 top: 25%; left: 25%;  是肯定不起作用的, 反正都是默认的写不写都无关紧要,那它有什么作用呢?  一般用它来 清除定位, 一个原来有定位的盒子不想定位了,就可以加这句话。

position: relative; 自恋型 相对于自己原先的左上角, 不脱离标准流, 位置还占着.

position: absolute; 拼爹型  脱离标准流

这个图是我自己用CSS写的, 这个箭头是用两个<div></div>拼接起来的,    github代码地址٩(๑❛ᴗ❛๑)۶

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习CSS3是非常重要的,因为它是网页设计中不可或缺的一部分。CSS3CSS的最新版本,引入了许多新的特性和功能,使得我们可以更加灵活地设计和样式化网页。 首先,学习CSS3可以帮助我们实现更多样化的网页设计。它提供了丰富的选择器和样式属性,可以创建出各种不同风格的页面布局和样式。比如,我们可以使用CSS3中的渐变背景、阴影效果和过渡动画等功能,使得网页更加生动、吸引人。 其次,学习CSS3还可以提高网页的响应式设计能力。CSS3引入了媒体查询功能,可以根据用户设备的不同来调整网页的样式和布局。这样,我们可以为不同的设备(如手机、平板电脑和桌面电脑)设计出最优的用户体验,提高网页的可用性和易用性。 此外,学习CSS3还可以提高网页的性能和加载速度。CSS3中引入了一些优化技术,如CSS精灵、动画效果硬件加速和过渡效果缓存等,可以减少浏览器对网页的解析时间,提升网页的加载速度和性能。 最后,学习CSS3有助于提升我们的职业竞争力。作为一门常用的前端技术,熟练掌握CSS3可以为我们在网页设计和开发领域找到更多的就业机会。无论是企业招聘要求还是个人项目需求,对CSS3的掌握都是非常重要的。 综上所述,学习CSS3是非常必要的。不仅可以帮助我们实现更多样化的网页设计,提高网页的响应式设计能力,还可以提升网页的性能和加载速度,提升我们的职业竞争力。因此,我强烈建议大家将重点放在学习CSS3上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值