卓音第二周培训

第二周卓音培训

PxCook

切图设计工具软件 支持psd文件的文字、颜色、距离自动识别

  • 开发面板(自动智能识别

  • 设计面板(手动测量尺寸和颜色

    创建项目 导入素材

盒子模型

作用:布局网页,摆放盒子和内容。由内容(height,width)、内边距padding、边框线border、外边距margin组成

border

粗细,线条样式,颜色

线条样式效果
solid实线
dashed虚线
dotted点线

border也可以设置单方向边框线, 如:border-top/right/left/bottom:1px solid black;

padding

设置内容与盒子边缘的距离,单位为px;padding也可以设置单边属性:padding-top/right/left/bottom:;

padding的多值写法:记忆口诀:从上开始,顺时针取值,无值取对面

注意:padding默认会撑大盒子

盒子尺寸=内容尺寸+border尺寸+padding尺寸

加padding和border都会撑大盒子

解决方法:①手动减 更改盒子尺寸减去border和padding的大小

​ ②自动减 设置box-sizing:border-box;

margin

拉开两个盒子之间的距离,不会撑大盒子,也有多值写法,同padding。

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .one{
            width: 100px;
            height: 100px;
            background-color: yellow;
            border: 2px solid black;
            padding: 30px;
            margin: 30px;
        }
        .two{
            width: 100px;
            height: 100px;
            background-color: pink;
            border: 2px dashed black;
            padding: 50px 30px 40px;
        }
        .three{
            width: 100px;
            height: 100px;
            background-color: red;
            border: 2px dotted black;
            padding: 40px 30px ;
            box-sizing: border-box;
            margin: auto;
        }
    </style>
</head>
<body>
    <div class="one">one</div>
    <div class="two">two</div>
    <div class="three">two</div>
</body>

常用作版心居中的效果,盒子需要有宽度设置

margin:auto;

效果如下:

清除默认样式

如默认的内外边距

方法:①通配符选择器

​ ②并选所有带有默认样式的标签

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
li{
    list-style:none;
}

元素溢出

控制溢出元素的内容的显示方式 overflow

属性值效果
hidden溢出内容隐藏
scroll不管有没有溢出的内容都显示滚动条
auto有溢出的内容才显示滚动条
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .one{
            width: 100px;
            height: 100px;
            background-color: yellow;
            border: 2px solid black;
            padding: 30px;
            margin: 30px;
            overflow: hidden;
        }
        .two{
            width: 100px;
            height: 100px;
            background-color: pink;
            border: 2px dashed black;
            padding: 50px 30px 40px;
            overflow: scroll;
        }
        .three{
            width: 500px;
            height: 100px;
            background-color: red;
            border: 2px dotted black;
            padding: 40px 30px ;
            box-sizing: border-box;
            margin: auto;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div class="one">内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出</div>
    <div class="two">two内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出</div>
    <div class="three">two内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出内容溢出</div>

</body>

效果如下:

外边距的合并现象和塌陷问题

合并现象

垂直排列兄弟元素,上下的margin会合并,取两个margin之中较大的值生效

塌陷问题

父子级元素,子级元素添加上外边距会产生塌陷问题,使父级元素一起向下移动。

解决方法:①子级元素取消margin,父级元素设置padding属性,更推荐

​ ②父级设overflow:hidden

​ ③父级设border-top属性

第二种和第三种都是让浏览器找到正确的父级元素的位置

行内元素的内外边距问题:

行内元素添加margin和padding属性会无法改变元素的垂直位置

解决方法:给行内元素添加line-height 可以改变垂直位置

圆角

设置元素的外边框为圆角。border-radius:50px或50%指的是圆角半径

多值写法:记忆口诀:从左上角开始,顺时针赋值,无值取对角。

正圆形状:正方形盒子,设置圆角属性50%或宽高的一半

胶囊形状:长方形盒子,设置圆角属性为高的一半

圆角半径用百分比表示时生效效果最大是50%

<style>
        .one{
            width: 100px;
            height: 100px;
            background-color: yellow;
            border-radius: 50%;
            border: 2px solid black;
            margin: 50px;
        }
        .two{
            width: 300px;
            height: 100px;
            background-color: pink;
            border-radius: 50px;
            border: 2px solid black;

        }
    </style>
</head>
<body>
    <div class="one"></div>
    <div class="two"></div>

效果如下:

阴影

给元素设置阴影效果,box-shadow

属性有:x轴偏移量;y轴偏移量;模糊半径;扩散半径;颜色;内/外阴影

注意:x轴偏移量和y轴偏移量必须写

默认是外阴影,内阴影需要添加inset

<style>
        .one{
            width: 100px;
            height: 100px;
            background-color: yellow;
            margin: 50px;
            box-shadow: 20px 40px 50px 10px rgba(0, 0, 0, 0.5);
        }
        .two{
            width: 300px;
            height: 100px;
            background-color: pink;
            box-shadow: 20px 20px  gray inset;
        }
    </style>
</head>
<body>
    <div class="one"></div>
    <div class="two"></div>

效果如下

浮动

作用:让块级元素水平排列

float:left/right

特点

顶对齐,具有行内块显示模式,会产生脱标(脱离标准流)的现象。

浮动的本质是实现图文混排的效果。

设置float之后,不占用标准流的位置。

注意:父级宽度不够,浮动的子级元素会换行

    <style>
        .one{
            width: 100px;
            height: 100px;
            background-color: yellow;
           float: left;
        }
        .two{
            width: 300px;
            height: 100px;
            background-color: pink;
            float: right;
        }
    </style>
</head>
<body>
    <div class="one"></div>
    <div class="two"></div>
</body>

效果如下:

清除浮动

浮动元素会脱标,如果父级元素没有高度,子级元素无法撑开父级高度,可能导致页面布局混乱。

解决方法:①额外标签法:在父元素内容的最后加一个块级元素,设置css属性: clear:both; 块级元素类选择器常命名为.clearfix

​ ②单伪元素法:

.clearfix::after{
    content:"";
    display:block;
    clear:both;
}

父级元素同时选中两个类名 class="top clearfix"

③双伪元素法:

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

④父级元素加 overflow:hiddden;

FLEX布局

弹性布局,非常适合结构化布局,提供强大的空间分布和对齐能力。

特点

flex不会脱标,布局更简单更灵活。

组成

父级元素设 display:flex 子元素会自动挤压或拉伸

组成作用
弹性容器(父级元素)display:flex;
弹性盒子(子级元素)盒子沿主轴方向排列
主轴默认在水平方向
侧轴/交叉轴默认在垂直方向

主轴与侧轴对齐方式

作用属性
创建flex容器display:flex;
主轴对齐方式justify-content
侧轴对齐方式align-items
某个盒子侧轴对齐方式align-self
修改主轴方向flex-direction
弹性伸缩比flex
弹性盒子换行flex-wrap
行对齐方式align-content
主轴对齐方式
属性作用
flex-strat默认值:从起点开始依次排序
flex-end从终点开始依次排序
center沿主轴居中排列
space-between弹性盒子沿主轴均匀排列,空白间距均分在盒子之间,父级剩余尺寸分配成间距
space-around弹性盒子沿主轴均匀排列,空白间距均分在盒子两侧,盒子间距是两端的二倍
space-evenly弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等,各个间距都相等
<style>
        .one{
            width: 1000px;
            height: 300px;
            background-color: yellow;
            display: flex;
            justify-content: center;
        }
        .two{
            width: 500px;
            height: 100px;
            background-color: pink;
        }
    .three{
            width: 200px;
            height: 100px;
            background-color: pink;
        }
        .four{
            width: 1000px;
            height: 300px;
            background-color: burlywood;
            display: flex;
            justify-content: space-between;
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="two">1</div>
        <div class="two">2</div>
        <div class="two">3</div>
    </div>
    <div class="four">
        <div class="three">1</div>
        <div class="three">2</div>
        <div class="three">3</div>
    </div>

效果如下:

侧轴对齐方式(设置给弹性容器
属性作用
stretch弹性盒子沿着侧轴线被拉伸至铺满容器
center弹性盒子沿侧轴居中排列
*flex-start弹性盒子沿侧轴从起点开始依次排列
*flex-end弹性盒子沿侧轴从终点开始依次排列

stretch:弹性盒子没有设置侧轴方向尺寸则默认拉伸

某个盒子侧轴对齐方式(设置给弹性盒子

用伪类选择器选中

.box div::nth-child() 其他同侧轴对齐方式

修改主轴方向

侧轴会自动变换

属性作用
*row水平方向,从左向右
column垂直方向,从上向下
*row-reverse水平方向,从右向左
*column-reverse垂直方向,从下向上
弹性伸缩比

作用:控制弹性盒子的主轴方向的尺寸。

属性值:整数数字,表示占用父级剩余尺寸的份数

默认情况下,主轴方向的尺寸是靠内容撑开的,侧轴默认拉伸。

<style>
        .one{
            width: 1000px;
            height: 300px;
            background-color: yellow;
            display: flex;
        }
        .two{
            width: 50px;
            height: 100px;
            background-color: pink;
        }
        .three{
            flex: 2;
            background-color: aquamarine;
        }
        .four{
            flex: 1;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="two">1</div>
        <div class="four">2</div>
        <div class="three">3</div>
    </div>

效果如下:

弹性盒子换行

弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示。

wrap换行 nowrap不换行

行对齐方式

同主轴对齐方式

行对齐方式对单行弹性盒子不生效

定位

作用:灵活改变盒子在网页的位置。

步骤:①定位模式position;②边偏移:设置盒子的位置

相对定位

position:relative;

特点

改变位置的参照物是自己原来的位置

不脱标,占位

标签显示模式特点不变

绝对定位

position:absolate;

子级绝对定位,父级相对定位(子绝父相

特点

脱标不占位

参照物:先找最近的已经定位的祖先元素,如果没有,找浏览器的可是区域改位置

显示模式特点改变;即宽高生效 (行内块模式)

定位居中

步骤

①使用绝对定位

②水平,垂直边偏移50%

③子级向左、上移动自身尺寸的一半

​ 两种方式:①左、上的外边距为**-**自身尺寸的一半

​ ②transform:translate(-50%,-50%) 这种更方便

    <style>
        .one{
            width: 1000px;
            height: 300px;
            background-color: yellow;
            position: relative;
        }
        .two{
            width: 50px;
            height: 100px;
            background-color: pink;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
        }
    </style>
</head>
<body>
    <div class="one">
        <div class="two">1</div>
    </div>
</body>

效果如下:

固定定位

position:fixed;

元素的位置在网页滚动时不会改变

特点

脱标不占位

参照物找浏览器窗口

显示模式特点改变:行内块模式

堆叠层级

z-index:1;

默认效果:按照标签书写顺序,后来者居上。

作用

设置定位元素的层次顺序,改变定位元素的显示顺序取值为整数,默认为0,取值越大,显示的顺序越靠上。

<style>
        .one{
            width: 100px;
            height: 100px;
            background-color: yellow;
            position: absolute;
            z-index: 2;
        }
        .two{
            width: 100px;
            height: 100px;
            background-color: pink;
            position:absolute;
            top: 50px;
            left: 50px;
        }
    </style>
</head>
<body>
    <div class="one">1</div>
    <div class="two">2</div>
</body>

效果如下:

CSS精灵

网页图片应用处理方式,将网页中一些背景图片整合到一张图片文件中,再用 background-position精确定位出背景图片的位置。

优点

减少服务器被请求次数,减轻服务器的压力,提高页面加载的速度。

实现步骤

①创建盒子,盒子尺寸和小图尺寸相同

②设置盒子背景图为精灵图

③添加 background-position属性,改变背景图的位置

​ ①pxcook 测量小图片左上角坐标

​ ②取负数坐标为background-position属性值,向左上移动图片位置

字体图标

展示的是图标,本质是字体

作用:在网页中添加简单的颜色单一的小图标。

优点:
灵活性修改样式灵活
轻量级体积小、渲染快
兼容性几乎兼容所有的主流浏览器
使用方便先下载再使用
下载字体

https://www.iconfont.cn/

官方素材免费,“添加到项目"再"下载到本地”

使用字体

①引入字体样式表 <link rel="stylesheet" href="./iconfont.css">

②标签使用字体图标类名 <div class="iconfont icon-xxx"></div>

注意选择器的优先级,用类选择器更合适

上传矢量图

项目特有的图标上传到iconfont图标库,生成字体。

文件为**.svg**后缀名,建议"去除颜色提交"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值