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

news2024/11/17 3:50:29

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.coloradmin.cn/o/1423528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis简单阐述、安装配置及远程访问

目录 一、Redis简介 1.什么是Redis 2.特点 3.优势 4.数据库对比 5.应用场景 二、 安装与配置 1.下载 2.上传解压 3.安装gcc 4.编译 5.查看安装目录 6.后端启动 7.测试 8.系统服务配置 三、Redis远程访问 1.修改访问IP地址 2.设置登录密码 3.重启Redis服务 …

《QDebug 2024年1月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Repeator 的 delegate 在 remove 移除时的注意事项 Qt Bug Tracker&#xff1a;https://bugreports.qt.io/browse/QTBUG-47500 Repeator 在调用 remove 函数之后&#xff0c;对应的 Item 会立即释放&#xff0c;后续就…

RabbitMQ之死信队列、延迟队列和懒队列

目录 死信队列 何时会产生死信 死信队列的配置方式 参数x-dead-letter-routing-key 如何确定一个消息是不是死信 延迟队列 懒队列 声明懒队列的两种方式 参数声明 策略指定 死信队列 死信队列是RabbitMQ中非常重要的一个特性。简单理解&#xff0c;他是RabbitMQ对于未…

第九节HarmonyOS 常用基础组件20-Divider

1、描述 提供分割器组件&#xff0c;分割不同内容块或内容元素。 2、接口 Divider() 3、属性 名称 参数类型 描述 vertical boolean 使用水平分割线还是垂直分割线。 false&#xff1a;水平分割线 true&#xff1a;垂直分割线 color ResourceColor 分割线颜色 默认…

数字图像处理(实践篇)三十七 OpenCV-Python 使用SIFT和BFmatcher对两个输入图像的关键点进行匹配实践

目录 一 涉及的函数 二 实践 三 报错处理 使用SIFT(尺度不变特征变换)算法

【Midjourney】AI绘画案例(1)龙年吉祥神兽

说明&#xff1a; 1、文中图片版权均为Midjourney所有&#xff0c;请勿用作商业用途。 2、文中图片均经过 Upscale x 4 处理。 3、由于模型原因&#xff0c;某些图片存在暇玼。 1、吉祥神兽——天马&#xff08;独角兽&#xff09; 天马消灾星。 提示词 Prompt: Sky Unicor…

力扣(LeetCode)227. 基本计算器 II

给你一个字符串表达式 s &#xff0c;请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意&#xff1a;不允许使用任何将字符串作为数学表达式计算的内置函数&#…

Java在网络通信中应该如何选择合适的序列化框架?

前言 说到网络通信就会牵涉到数据的序列化与反序列化&#xff0c;现如今序列化框架也是层出不穷&#xff0c;比如FST、Kryo、ProtoBuffer、Thrift、Hessian、Avro、MsgPack等等&#xff0c;有的人可能会有疑问&#xff0c;为什么市面上有这么多框架&#xff0c;JDK不是已经有自…

LeetCode刷题日志-117填充每个节点的下一个右侧指针II

二叉树的题目&#xff0c;我认为二叉树必须要掌握递归的三种遍历算法&#xff0c;以及层序遍历算法才能做二叉树题目。这道题目我的想法是&#xff1a; 因为在二叉树每一层中&#xff0c;next指针指向的是的当前节点的右边的节点&#xff0c;所以&#xff0c;使用层序遍历&…

中国建设银行,这年终奖噶噶高!!!!(含算法原题)

国企年终 今天刷到一个近期帖子:「中国建设银行&#xff0c;这年终奖噶噶高!!!!」 先撇去具体内容不看&#xff0c;能在自然年的 月初&#xff0c;就把去年的奖金发了的企业&#xff0c;首先值得一个点赞。 再细看内容&#xff0c;年终奖是一个 字头的 位数。 由于国企通常没…

springboot-前后端分离——第二篇

本篇主要介绍一个发送请求的工具—postman&#xff0c;然后对请求中的参数进行介绍&#xff0c;例如简单参数、实体参数、数组参数、集合参数、日期类型参数以及json类型参数&#xff0c;对这些参数接收进行总结。最后对响应数据进行介绍&#xff0c;使用统一响应结果返回浏览器…

知识蒸馏(paper翻译)

paper&#xff1a;Distilling the Knowledge in a Neural Network 摘要&#xff1a; 提高几乎所有机器学习算法性能的一个非常简单的方法是在相同的数据上训练许多不同的模型&#xff0c;然后对它们的预测进行平均[3]。 不幸的是&#xff0c;使用整个模型集合进行预测非常麻烦…

养老院|基于Springboot的养老院管理系统设计与实现(源码+数据库+文档)

养老院管理系统目录 目录 基于Springboot的养老院管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、老人信息管理 2、家属信息管理 3、公告类型管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选…

2023强网杯复现

强网先锋 SpeedUp 要求2的27次方的阶乘的逐位之和 在A244060 - OEIS 然后我们将4495662081进行sha256加密 就得到了flag flag{bbdee5c548fddfc76617c562952a3a3b03d423985c095521a8661d248fad3797} MISC easyfuzz 通过尝试输入字符串判断该程序对输入字符的验证规则为9…

计算机设计大赛 深度学习 python opencv 动物识别与检测

文章目录 0 前言1 深度学习实现动物识别与检测2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存…

万物简单AIoT 端云一体实战案例学习 之 智能小车

学物联网,来万物简单IoT物联网!! 下图是本案的3步导学,每个步骤中实现的功能请参考图中的说明。 1、简介 1.1、背景 市面上各种遥控的小车很多,小车的性能不同具备的能力也不一样,大概实现的逻辑就是通过遥控器控制小车的前进、后退、左转或者右转。遥控小车具备一定…

精通Python第14篇—Pyecharts神奇妙笔,绘制多彩词云世界

文章目录 安装Pyecharts基本的词云图绘制自定义词云图样式多种词云图合并高级词云图定制与交互1. 添加背景图片2. 添加交互效果 使用自定义字体和颜色从文本文件生成词云图总结&#xff1a; 在数据可视化领域&#xff0c;词云图是一种极具表现力和趣味性的图表&#xff0c;能够…

IDEA 取消参数名称提示、IDEA如何去掉变量类型提醒

一、IDEA 取消参数名称显示 取消显示形参名提示 例如这样的提示信息 二、解决方法 1、File—>Setting–>Editor—>Inlay Hints—>Java 去掉 Show Parameter hints for 前面的勾即可&#xff0c;然后Apply—>Ok 2、右键Disable Hints

java 图书管理系统 spring boot项目

java 图书管理系统ssm框架 spring boot项目 功能有管理员模块&#xff1a;图书管理&#xff0c;读者管理&#xff0c;借阅管理&#xff0c;登录&#xff0c;修改密码 读者端&#xff1a;可查看图书信息&#xff0c;借阅记录&#xff0c;登录&#xff0c;修改密码 技术&#…

离散数学5

集合的基本概念 集合间的关系 特殊集合 集合的运算 以上都是高一学过的内容。 有穷集的计数&#xff08;容斥定理&#xff09; 序偶与集合的笛卡尔积 二元关系及其表示法 二元关系的性质 前件<x,y>,<y,z>后件<x,z>通过前件能推出后件&#xff0c;只有前真…