跟着pink老师前端入门教程-day11

3、CSS 三角

网页中常见一些三角形,使用CSS直接画出来即可,不必做成图片或字体图标

4、CSS 用户界面样式 

4.1 什么是界面样式

界面样式:更改一些用户操作样式,以便提高更好的用户体验(更改用户的鼠标样式、表单轮廓、防止表单域拖拽)

4.2 鼠标样式cursor

语法:li {cursor: pointer; } ,设置或检索在对象上移动的鼠标指针采用合众系统预定义的光标形状

4.3 轮廓线outline

给表单添加outline: 0; 或者 outline: none; 样式后就可以去掉默认的蓝色边框

语法:input {outline: none; }

4.4 防止拖拽文本域resize

实际开发中,文本域右下角是不可拖拽的

语法:textarea{ resize: none;}

5、vertical-align 属性应用

CSS的vertical-align属性使用场景:经常用于设置图片或者表单(行内块元素)和文字垂直对其

官方解释:用于设置一个元素的垂直对齐方式,但只针对行内元素或者行内块元素有效

语法:vertical-align : baseline | top | middle | bottom

5.1 图片、表单和文字对齐

图片、表单都属于行内块元素,默认的vertical-align是基线对齐,此时可以给图片、表单这些行内块元素的vertical-align 属性设置为middle 就可以让文字和图片垂直居中对齐

5.2 解决图片底部默认空白缝隙问题

bug:图片底册会有一个空白缝隙,原因是行内块元素会和文字的基线对齐

主要解决方法有两种:

① 给图片添加vertical-align:middle | top| bottom  等(提倡使用)

② 把图片转换为块级元素 display: block;

6、溢出的文字省略号显示

6.1 单行文本溢出显示省略号—必须满足三个条件

/*1. 先强制一行内显示文本 */
white-space: nowrap; ( 默认 normal 自动换行)
/*2. 超出的部分隐藏 */
overflow: hidden;
/*3. 文字用省略号替代超出的部分 */
text-overflow: ellipsis;
    <style>/* 单行文本溢出显示省略号--必须满足三个条件 */div.only {width: 150px;height: 80px;background-color: salmon;margin: 100px auto;/* 如果文字显示不开自动换行 *//* white-space: normal; *//*果文字显示不开,强制一行内显示*/white-space: nowrap;/*2. 超出的部分隐藏*/overflow: hidden;/*3. 文字用ellipsis省略号替代超出的部分*/text-overflow: ellipsis;}</style>
<body><div class="only">哈哈哈,你也太搞笑了吧</div>
</body>

6.2 多行文本溢出显示省略号

多行文本溢出省略号,有较大兼容性问题,适合于webkit浏览器或移动端(移动端大部分是webkit内核)

overflow: hidden;
text-overflow: ellipsis;
/* 弹性伸缩盒子模型显示 */
display: -webkit-box;
/* 限制在一个块元素显示的文本的行数 */
-webkit-line-clamp: 2;
/* 设置或检索伸缩盒对象的子元素的排列方式 */
-webkit-box-orient: vertical;
    <style>.more {width: 150px;height: 80px;background-color: salmon;margin: 100px auto;overflow: hidden;text-overflow: ellipsis;/* 弹性伸缩盒子模型显示 */display: -webkit-box;/* 限制在一个块元素显示的文本的行数 */-webkit-line-clamp: 4;/* 设置或检索伸缩盒对象的子元素的排列方式 */-webkit-box-orient: vertical;}</style>
<body><div class="more">天生就是属黄瓜的,欠拍!后天属核桃的,欠捶!终生属破摩托的,欠踹!找个媳妇属螺丝钉的,欠拧</div>
</body>

7、常见布局技巧

7.1 margin负值的运用

1. 让每个盒子margin往左侧移动-1px 正好压住相邻盒子边框

2. 鼠标经过某个盒子时,提高当前盒子的层级即可(如果没有有定位,则加相对定位保留位置,如果有定位,则加z-index)

    <style>/* margin负值的运用 */ul li {float: left;list-style: none;width: 150px;height: 200px;border: 1px solid #000;margin-left: -1px;}/* 如果没有有定位,则加相对定位(保留位置) *//* ul li:hover {position: relative;border: 1px solid blue;} *//* 如果有定位,则加z-index  */ul li:hover {z-index: 1;border: 1px solid blue;}</style>
<body><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>
</body>

7.2 文字围绕浮动元素

7.3 行内块的巧妙运用

页码在页面中间显示

1. 把这些链接盒子转换为行内块,之后给父级指定 text-align: center;

2. 利用行内块元素中间有缝隙,并且给父级添加 text-align: center; 行内块元素会水平会居中

   <style>* {margin: 0;padding: 0;}.box {text-align: center;}.box a {display: inline-block;width: 36px;height: 36px;background-color: #f5f5f5;border: 1px solid #ccc;text-align: center;text-decoration: none;line-height: 36px;color: #000;font-style: 14px;}.box .prev,.box .next {width: 85px;}.box .current,.box .elp {background-color: #fff;border: none;}.box input {height: 36px;width: 45px;border: 1px solid #ccc;outline: none;}.box button {width: 60px;height: 36px;background-color: #f5f5f5;border: 1px solid #ccc;}</style>
<body><div class="box"><a href="#" class="prev">&lt;&lt;上一页</a><a href="#" class="current">2</a><a href="#">3</a><a href="#">4</a><a href="#">5</a><a href="#" class="elp">...</a><a href="#" class="next">&gt;&gt;下一页</a>到第<input type="text">页<button>确定</button></div>
</body>

 效果图

7.4 CSS三角强化

代码

width: 0;
height: 0;
border-color: transparent red transparent transparent;
border-style: solid;
border-width: 22px 8px 0 0;
    <style>.one {width: 0;height: 0;/*/2、把上边宽度调大 *//* border-top: 100px solid transparent;border-right: 50px solid orange; *//* 1、左边和下边的边框宽度设置为0 *//* border-bottom: 0px solid yellow;border-left: 00px solid green; *//* 简写 *//* 只保留右边的边框有颜色 */border-color: transparent red transparent transparent;/* 样式都是solid */border-style: solid;/* 上边宽度要大,右边框 宽度稍小,其余的边框该为0 */border-width: 100px 50px 0 0;}</style>
<body><div class="one"></div></body>

 淘宝秒杀价格牌案例

    <style>.price {width: 160px;height: 24px;line-height: 24px;border: 1px solid red;margin: 0 auto;}.miaosha {position: relative;float: left;width: 90px;height: 100%;background-color: red;text-align: center;color: #fff;font-weight: 700;margin-right: 8px;}.miaosha i {position: absolute;right: 0;top: 0;width: 0;height: 0;border-color: transparent #fff transparent transparent;border-style: solid;border-width: 24px 10px 0 0;}.origin {font-size: 12px;color: gray;text-decoration: line-through;}</style>
<body><div class="price"><span class="miaosha">¥1650<i></i></span><span class="origin">¥6510</span></div>
</body>

效果图:

8、 CSS初始化

不同浏览器对有些标签的默认值是不同的,为了消除不同浏览器对HTML文本呈现的差异,照顾浏览器的兼容,我们需要对CSS 初始化

简单理解: CSS初始化是指重设浏览器的样式。 (也称为CSS reset)

每个网页都必须首先进行 CSS初始化。

这里我们以 京东CSS初始化代码为例。

Unicode编码字体:

把中文字体的名称用相应的Unicode编码来代替,这样就可以有效的避免浏览器解释CSS代码时候出现乱码的问题。

比如:

黑体 \9ED1\4F53

宋体 \5B8B\4F53

微软雅黑 \5FAE\8F6F\96C5\9ED1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/434180.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 使用echarts做折线图条形图。

提前10天把中烟活动做完了&#xff0c;以为能打酱油到除夕那天&#xff0c;结果又要做什么数据看板&#xff0c;方便烟草领导过年查看数据&#xff0c;还只给5天时间&#xff0c;真实压榨剥削啊&#xff0c;下辈子再也不‘拍黄片’了&#xff0c;不&#xff01;下份工作我就转前…

HCIA学习作业二

要求&#xff1a;基于192.168.1.0/24进行合理划分&#xff0c;要求全网通 [AR3]display ip interface brief [AR3]display ip routing-table [AR1]display ip interface brief [AR1]display ip routing-table [AR2]display ip interface brief [AR2]display ip routing-tab…

STM32(更新中)

目录 1 时钟&#xff08;心跳&#xff09; 1.1 CubeMX基本配置 1.2 外设在时钟上的分配原理 1.3 时钟树 2 寄存器&#xff08;地址&#xff09; 3 GPIO 3.1 GPIO实物 3.2 GPIO两种结构&#xff08;推挽/开漏&#xff09; 3.3 LED 3.4 CUBEMX 3.5 常用函数 …

利用aiohttp异步爬虫实现网站数据高效抓取

前言 大数据时代&#xff0c;网站数据的高效抓取对于众多应用程序和服务来说至关重要。传统的同步爬虫技术在面对大规模数据抓取时往往效率低下&#xff0c;而异步爬虫技术的出现为解决这一问题提供了新的思路。本文将介绍如何利用aiohttp异步爬虫技术实现网站数据抓取&#x…

【深度学习】sdxl中的 tokenizer tokenizer_2 区别

代码仓库&#xff1a; https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main 截图&#xff1a; 为什么有两个分词器 tokenizer 和 tokenizer_2&#xff1f; 在仔细阅读这些代码后&#xff0c;我们了解到 tokenizer_2 主要是用于 refiner 模型的。 #…

如何在yolov8中验证时计算FPS

ultralytics-main/ultralytics/engine/validator.py文件下&#xff0c;第200行左右&#xff0c;添加如下代码 LOGGER.info(fFPS:{(1000 / sum(self.speed.values())):.2f}) speed.values()是一个字典&#xff0c;包括preprocess,inference,loss,postprocess的时间&#xff0c;所…

node 第二十三天 mongoDB shell 命令 CRUD 增删改查 基础

什么是 mongoDB shell 命令 mongoDB shell 命令就是在cmd窗口或者powershell窗口与mongoDB交互的命令, 以下简称mongosh 对应我们上一天安装的 mongosh 工具 有什么用 mongosh 对一般的开发者可能意义不大, 因为在开发过程中我们会基于某一款语言来使用mongoDB, 比如在node端我…

研发日记,Matlab/Simulink避坑指南(七)——数据溢出钳位Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(三)——向上取整Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑…

mysql连接查询,备忘

mysql连接查询 在MySQL数据库查询中&#xff0c;经常会使用到多表查询&#xff0c;本篇介绍mysql中的内连接&#xff0c;左连接&#xff0c;右连接。 用作备忘。 使用两个简单的数据表做展现。 表A AidAvalue1a0012a0023a0034a0045a005 表B BidBvalue1b0012b0023b0034b0046b…

应用机器学习的建议

一、决定下一步做什么 在你得到你的学习参数以后&#xff0c;如果你要将你的假设函数放到一组新的房屋样本上进行测试&#xff0c;假如说你在预测房价时产生了巨大的误差&#xff0c;你想改进这个算法&#xff0c;接下来应该怎么办&#xff1f;实际上你可以考虑先采用下面的几种…

C++初阶入门之命名空间和缺省参数的详细解析

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂 目录 一.前言 二.命名空间 2.1命名冲突的例子 2.2解决方案 2.3命…

如何让思维系统化,拥有「自己的想法」?

先思考一个问题&#xff1a; 如果外星人来访地球&#xff0c;你觉得他们更有可能是善意的&#xff0c;还是恶意的&#xff1f; 你的反应是什么&#xff0c;会如何切入思考&#xff1f; 一般人可能会这样回答&#xff1a; 当然是恶意的&#xff0c;因为要争夺资源啊&#xff0c;…