【前端基础】Day 7 CSS高级技巧

目录

1. 精灵图

1.1 为什么需要精灵图

1.2 精灵图(sprites)的使用

2. 字体图标

2.1 字体图标的产生

2.2 字体图标的优点

2.3 字体图标的下载

2.4 字体图标的引入

2.5 字体图标的追加

3. CSS三角形

4. CSS用户界面样式

4.1 更改用户鼠标样式

4.2 表单轮廓outline

4.3 防止表单域拖拽resize

5. vertical-align属性应用

5.1 图片、表单和文字对齐

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

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

6.1 单行文本溢出显示省略号

6.2 多行文本溢出显示省略号(了解)

7.常见布局技巧

7.1 margin负值运用

7.2 文字围绕浮动元素

7.3 行内块巧妙运用

7.4 CSS三角强化

8. CSS初始化


 

1. 精灵图

1.1 为什么需要精灵图

1.2 精灵图(sprites)的使用

x轴往右走是正值,y轴往下走是正值

2. 字体图标

2.1 字体图标的产生

2.2 字体图标的优点

2.3 字体图标的下载

2.4 字体图标的引入

不同浏览器所支持的字体格式是不一样的,字体图标之所以兼容,就是因为包含了主流浏览器支持的字体文件。

字体声明:打开icomoon文件夹中的style.css文件,将从开头到diaplay:block;}这段复制,即可将字体文件通过css引入到我们页面中。

        @font-face {
            font-family: 'icomoon';
            src: url('fonts/icomoon.eot?yebu8p');
            src: url('fonts/icomoon.eot?yebu8p#iefix') format('embedded-opentype'),
                url('fonts/icomoon.ttf?yebu8p') format('truetype'),
                url('fonts/icomoon.woff?yebu8p') format('woff'),
                url('fonts/icomoon.svg?yebu8p#icomoon') format('svg');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }

 /* 4.设置字体 */

span {

            font-family: 'icomoon';

            font-size: 100px;

            color: pink;

        }

2.5 字体图标的追加

只向服务器请求一次

3. CSS三角形

       .box1 {
            width: 0;
            height: 0;
            border-top: 10px solid pink;
            border-right: 10px solid red;
            border-bottom: 10px solid blue;
            border-left: 10px solid green;
        }

        .box2 {
            width: 0;
            height: 0;
            /* line-height和font-size是照顾低版本浏览器兼容性 */
            line-height: 0;
            font-size: 0;
            border: 50px solid transparent;
            border-top-color: pink;
            margin: 100px auto;
        }

4. CSS用户界面样式

更改用户操作样式,以提高更好的用户体验。

4.1 更改用户鼠标样式

    <ul>
        <li style="cursor: default;">我是默认的小白鼠标样式</li>
        <li style="cursor: pointer;">我是鼠标小手样式</li>
        <li style="cursor: move;">我是鼠标移动样式</li>
        <li style="cursor: text;">我是鼠标文本样式</li>
        <li style="cursor: not-allowed;">我是鼠标禁止样式</li>
    </ul>

4.2 表单轮廓outline

4.3 防止表单域拖拽resize

文本域尽量放在一行上,中间不要有空格,否则光标点过去文本框起始会有空格,可以通过padding设置缩进。

5. vertical-align属性应用

5.1 图片、表单和文字对齐

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

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

6.1 单行文本溢出显示省略号

            /* 1.强制文字一行显示,normal会自动换行 */
            white-space: nowrap;
            /* 2.溢出的部分隐藏起来 */
            overflow: hidden;
            /* 3.文字溢出的时候用省略号来显示 */
            text-overflow: ellipsis;

6.2 多行文本溢出显示省略号(了解)

要控制盒子的大小

7.常见布局技巧

7.1 margin负值运用

做细线边框,防止边框重叠使得1+1=2。

如果没有定位,加z-index不管用。

7.2 文字围绕浮动元素

巧妙运用浮动元素不会压住文字的特性

7.3 行内块巧妙运用

只要给父元素添加text-align:center;那父盒子里面的所有的行内元素和行内块元素都会水平居中。

7.4 CSS三角强化

        .box1 {
            width: 0;
            height: 0;
            border-color: transparent red transparent transparent;
            border-style: solid;
            border-width: 24px 10px 0 0;
        }

8. CSS初始化

/* 把所有标签的内外边距清零 */
* {
    margin: 0;
    padding: 0
}

/* em 和 i 斜体的文字不倾斜 */
em,
i {
    font-style: normal
}

/* 去掉li的小圆点 */
li {
    list-style: none
}

img {
    /* border: 0;照顾低版本浏览器,如果图片外面包含了链接会有边框的问题 */
    border: 0;
    /* 取消图片底部有空白缝隙的问题 */
    vertical-align: middle
}

button {
    /* 当鼠标经过按钮时鼠标变成小手 */
    cursor: pointer
}

a {
    color: #666;
    text-decoration: none
}

a:hover {
    color: #ff0f23
}

button,
input {
    font-family: PingFang SC, Source Han Sans CN, Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif
}

body {
    /* CSS3 抗锯齿行,让文字显示得更清晰 */
    -webkit-font-smoothing: antialiased;
    background-color: #fff;
    /* \5B8B\4F53 就是宋体的意思,这样浏览器兼容性比较好 */
    font: 12px/1.5 PingFang SC, Source Han Sans CN, Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif;
    color: #666
}

.hide,
.none {
    display: none
}

/* 清除浮动 */
.clearfix:after {
    visibility: hidden;
    clear: both;
    display: block;
    content: ".";
    height: 0
}

.clearfix {
    *zoom: 1
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

React低代码项目:问卷编辑器 II

吐司问卷&#xff1a;问卷编辑器 II Date: February 26, 2025 Log **软件设计的可拓展性&#xff1a;**对修改封闭&#xff0c;对拓展开放 工具栏 删除组件 需求&#xff1a; 要点&#xff1a; 实现删除选中组件 思路&#xff1a;重新计算 selectedId&#xff0c;优先选择…

图像处理之图像边缘检测算法

目录 1 图像边缘检测算法简介 2 Sobel边缘检测 3 经典的Canny边缘检测算法 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 参考 1 图像边缘检测算法简介 图像边缘检测是计算机视觉和图像处理中的基本问题&#xff0c;主要目的是提取图像中明暗变化明显的边缘细节…

数据结构(初阶)(八)----排序

排序 概念 排序&#xff1a;所谓排序&#xff0c;就是使⼀串记录&#xff0c;按照其中的某个或某些关键字的⼤⼩&#xff0c;递增或递减的排列起来的 操作。 比较排序 插入排序 直接插入排序 直接插⼊排序是⼀种简单的插⼊排序法&#xff0c;其基本思想是&#xff1a;把待…

计算机毕业设计SpringBoot+Vue.js基于JAVA语言的在线考试与学习交流网页平台(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

聊一聊 IM 如何优化数据库

IM 系列 im doc 实时通讯文档仓库 聊一聊 IM 是什么&#xff1f; IM 即时通讯系统概览 聊一聊 IM 要如何设计&#xff1f; 聊一聊 IM 要如何设计功能模块&#xff1f; 聊一聊 IM 要如何进行架构设计&#xff1f; 聊一聊 IM 要如何进行技术选型&#xff1f; 聊一聊 IM 要…

人工智能AI在汽车设计领域的应用探索

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

DeepSeek-R1 大模型实战:腾讯云 HAI 平台 3 分钟极速部署指南

引言&#xff1a;为什么选择 DeepSeek-R1&#xff1f; 近期&#xff0c;国产大模型 DeepSeek-R1 因其低成本、高性能的特点在全球 AI 领域引发热议。根据 Sensor Tower 数据&#xff0c;其发布仅 18 天便斩获 1600 万次下载量&#xff0c;远超 ChatGPT 同期表现。而腾讯云推出…

[SWPUCTF 2022 新生赛]1z_unserialize

题目描述&#xff1a;是很简单的反序列化噢 代码审计看注释 <?phpclass lyh{ //定义一个类为lyhpublic $url NSSCTF.com;//公共属性&#xff0c;初始值为NSSCTF.compublic $lt; //公共属性&#xff0c;没有初始值public $lly; //公共属性&…

三支一扶入职体检不合格项目全解析

“三支一扶” 计划为高校毕业生提供了到基层服务的宝贵机会&#xff0c;通过层层选拔后&#xff0c;入职体检也是其中关键的一环。了解哪些项目可能导致体检不合格&#xff0c;能让大家提前做好准备&#xff0c;避免在这一步出现意外。接下来&#xff0c;就为大家详细介绍三支一…

专题一四数之和

1.题目 题目分析&#xff1a; 给一个数组&#xff0c;在里面找到四个数字&#xff0c;满足四个数字之和等于给的特定值&#xff0c;四数之和可以拆分成三数之和&#xff0c;再继续拆分成二数之和&#xff0c;由简化繁。 2.算法原理 通过排序加双指针 1.依次固定一个数 2.在…

如何在docker中的mysql容器内执行命令与执行SQL文件

通过 docker ps -a 查询当前运行的容器&#xff0c;找到想执行命令的容器名称。 docker ps -a若想执行sql文件&#xff0c;则将sql文件放入当前文件夹下后将项目内的 SQL 文件拷贝到 mysql 容器内部的 root下。 sudo docker cp /root/enterprise.sql mysql:/root/然后进入 my…

Linux线程同步与互斥应用/生产者消费者模型

一&#xff0c;理论讲解 我们拿工厂&#xff0c;超市和消费者直接的关系来做讲解&#xff0c;首先人去超市买东西的过程就不用多说&#xff0c;但是超市本身是不能生产商品的&#xff0c;他们需要从各个不同的工厂进货商品&#xff0c;然后再给消费者买&#xff0c;以计算机的…

基于YOLO11深度学习的遥感视角农田检测与分割系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

RabbitMQ面试题及原理

RabbitMQ使用场景&#xff1a; 异步发送&#xff08;验证码、短信、邮件…&#xff09;MYSQL和Redis, ES之间的数据同步分布式事务削峰填谷 1. 消息可靠性&#xff08;不丢失&#xff09; 消息丢失场景&#xff1a; RabbitMQ-如何保证消息不丟失&#xff1f; 开启生产者确…

Python每日一练:学习指南进行汇总

Python&#xff0c;一种“优雅”、“明确”、“简单”的编程语言&#xff0c;凭借其低学习曲线、强大的开源生态系统、卓越的平台可移植性以及面向对象和函数式编程的支持&#xff0c;成为了众多开发者首选。 01 Python 应用领域和就业形势分析 Python&#xff0c;一种“优雅…

商米科技前端工程师(base上海)内推

1.根据原型或高保真设计&#xff0c;开发web、H5、小程序等类型的前端应用&#xff1b; 2.在指导下&#xff0c;高质量完成功能模块的开发&#xff0c;并负责各功能模块接口设计工作&#xff1b; 3.负责产品及相关支撑系统的开发及维护工作&#xff0c;不断的优化升级&#x…

八. Spring Boot2 整合连接 Redis(超详细剖析)

八. Spring Boot2 整合连接 Redis(超详细剖析) 文章目录 八. Spring Boot2 整合连接 Redis(超详细剖析)2. 注意事项和细节3. 最后&#xff1a; 在 springboot 中 , 整合 redis 可以通过 RedisTemplate 完成对 redis 的操作, 包括设置数据/获取数据 比如添加和读取数据 具体…

【漫话机器学习系列】113.逻辑回归(Logistic Regression) VS 线性回归(Linear Regression)

逻辑回归 vs 线性回归&#xff1a;详解对比 在机器学习和统计学中&#xff0c;逻辑回归&#xff08;Logistic Regression&#xff09; 和 线性回归&#xff08;Linear Regression&#xff09; 都是非常常见的模型。尽管它们的数学表达式有一定的相似性&#xff0c;但它们的应用…

构建智能 SQL 查询代理agent,把整个查询过程模块化,既能自动判断使用哪些表,又能自动生成 SQL 语句,最终返回查询结果

示例代码&#xff1a; import os import getpass from dotenv import load_dotenv from pyprojroot import here from typing import List from pprint import pprint from pydantic import BaseModel from langchain_core.tools import tool from langchain_core.runnables i…

fastapi中的patch请求

目录 示例测试使用 curl 访问&#xff1a;使用 requests 访问&#xff1a;预期返回&#xff1a; 浏览器访问 示例 下面是一个使用 app.patch("") 的 FastAPI 示例&#xff0c;该示例实现了一个简单的用户信息更新 API。我们使用 pydantic 定义数据模型&#xff0c;并…