元素的显示与隐藏
display — block;(转换为块元素&& 显示) none(隐藏 && 不保留原来的位置) — 重要!
visibility — visible(显示) hidden (隐藏 && 保留原来的位置 )
复习:<span>overflow</span>:hidden; 1.之前解决父子关系垂直嵌套的合并塌陷问题。2.清除浮动
overflow — hidden 内容超出的部分隐藏(重点的) scroll(强制出现滚动条样式) auto(根据内容多少来判断是否出现滚动条 )
精灵技术
目的:为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度
实现原理: 只请求一张图 –只是展示不同位置的小图。
案例使用:
background-image 背景图片
background-repeat 是否平铺
background-position 背景定位
小小注意点:
1.精灵技术主要针对背景图片,插入的img不需要这个技术
2.需要测量每个小背景图片的大小和位置
3.给盒子指定小的背景图片时,背景定位基本都是负值
##
字体图标
优势:浏览器支持性比较好,灵活性大;体积小,加载速度快,节省带宽流量;减轻服务器压力。
注意:字体图标是字体 不是图片
使用字体图标
1.把包包里面的font文件夹复制出来一份,放在我们项目根目录。
2.在html文件标签里面添加结构
3.在html文件样式style里面声明字体:告诉代码和别人使用我们自己自定义的字体(一定注意路径问题)
4.给盒子设置字体即可
追加字体图标
原来的不能删除,继续使用,此时我们需要这样做
把压缩包里面的selection.json 从新上传,然后,选中自己想要新的图标,从新下载压缩包,替换原来文件夹即可。
重新导入selection.json 生成 新的字体包–》追加选择字体 –》点击下载 –》把之前项目中fonts删除–》替换成新的字体包里面的fonts文件夹
css三角形
本质:还是利用了盒子的边框
做法:
1.宽高为 零
2.四个边都要的,只保留我们需要的边框颜色,其他的 颜色透明即可。
3.为了照顾兼容问题,设置:line-height:0; font-size:0;
<span>三角形案例:</span> <span>.demo</span> <span>{</span> <span>position:</span> <span>relative;</span> <span>width:</span> <span>200px;</span> <span>height:</span> <span>100px;</span> <span>background-color:</span> <span>pink;</span> <span>}</span> <span>i</span> <span>{</span> <span>position:</span> <span>absolute;</span> <span>top:</span> <span>35px;</span> <span>left:</span> <span>200px;</span> <span>width:</span> <span>0</span><span>;</span> <span>height:</span> <span>0</span><span>;</span> <span>border:</span> <span>15px</span> <span>solid</span> <span>transparent;</span> <span>border-left-color:</span> <span>hotpink;</span> <span>}</span> <span><div</span> <span>class=\"demo\"></span> <span><i></i></span> <span></div></span>
用户的界面样式
<span><<span>ul</span>></span> <span><<span>li</span> <span>style</span>=<span>\"cursor:default;\"</span>></span>我是默认的小白鼠标样式<span></<span>li</span>></span> <span><<span>li</span> <span>style</span>=<span>\"cursor:pointer;\"</span>></span>我是鼠标小手样式<span></<span>li</span>></span> <span><<span>li</span> <span>style</span>=<span>\"cursor:move;\"</span>></span>我是鼠标移动样式<span></<span>li</span>></span> <span><<span>li</span> <span>style</span>=<span>\"cursor:text;\"</span>></span>我是鼠标文本样式<span></<span>li</span>></span> <span><<span>li</span> <span>style</span>=<span>\"cursor:not-allowed;\"</span>></span>我是鼠标禁止样式<span></<span>li</span>></span> <span></<span>ul</span>></span>cursor:pointer; -- 记住!cursor:move; --记住!cursor:not-allowed; --记住!
轮廓线
outline: 0/ none; —– 去掉轮廓线
防止文本域拖拽
resize:none;
vertical-align 垂直对齐方式
- 如果让单行文本垂直居中 — 使用line-height,如果处理图片和文本的垂直对齐方式,line-height=高 不可以实现!
- 注意:只针对行内元素和 行内块起作用。
- 通常用于 — 图片和文本对齐问题和去除图片底部空白缝隙问题。
- 去除图片底部空白让图片白不要和 基线对齐 — vertical-align:top middle bottom转换为块元素 — display:block;
div { <span>border</span>: <span>2</span>px solid red; } img { <span>/* 这个属性加给图片本身,千万不要加给图片的父级盒子 */</span> vertical-align: middle; } <div> <span><span><<span>img</span> <span>src</span>=<span>\"images/ldh.jpg\"</span> <span>alt</span>=<span>\"\"</span>></span> <span></<span>div</span>></span></span>
单行文字溢出省略号 显示 (背过!)
1.必须强制一行显示 white-space:nowrap;
2.超出部分隐藏 overflow:hidden;
3.文字省略号代替超出的文本 text-overflow:ellipsis;
多行文本省略号显示
<span>overflow</span>: hidden; <span>/*文字省略号代替*/</span> <span>text-overflow</span>: ellipsis; <span>/* 弹性伸缩盒子模型显示 */</span> <span>display</span>: -webkit-box; <span>/* 限制在一个块元素显示的文本的行数 */</span> -webkit-line-clamp: <span>3</span>; <span>/* 设置或检索伸缩盒对象的子元素的排列方式 */</span> -webkit-box-orient: vertical;
margin负值运用(练习!)
前置知识点:
relative — 相对定位占位置
absolute — 绝对定位不占位置
float —- 浮动不占位置
文字环绕效果
浮动 — 压不住下面标流的图片和文字。
行内块可以单独设置宽高一排显示
text-align:center — 给父亲元素添加,可以让子盒子(行内块/行内元素)水平居中。
京东三角形巧妙运用
<span>div</span> <span>{</span> <span>/*</span> <span>1</span><span>.宽高为0</span> <span>*/</span> <span>width:</span> <span>0</span><span>;</span> <span>height:</span> <span>0</span><span>;</span> <span>/*</span> <span>2</span><span>.只保留需要的边框颜色</span> <span>*/</span> <span>border-color:</span> <span>transparent</span> <span>transparent</span> <span>red</span> <span>transparent;</span> <span>/*</span> <span>3</span><span>.边框是实线</span> <span>*/</span> <span>border-style:</span> <span>solid;</span> <span>/*</span> <span>4</span><span>.保留需要的边框大小,剩下的为</span> <span>0</span> <span>*/</span> <span>border-width:</span> <span>0</span> <span>0</span> <span>100px</span> <span>50px;</span> <span>}</span><span></span><span><div></span> <span></div></span>