当前位置: 首页 > article >正文

【前端基础】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
}


http://www.kler.cn/a/568733.html

相关文章:

  • Linux 学习笔记
  • 数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价
  • Flutter_学习记录_实现列表上拉加载更多的功能
  • electron-builder打包时github包下载失败【解决办法】
  • Python与Web3.py库:构建去中心化应用的未来
  • Java对象字段拷贝最佳实践:BeanUtils、Lombok Builder、MapStruct 深度解析(附Demo)
  • 特辣的海藻!7
  • PostgreSQL 生产环境升级指南:pg_upgrade 快速完成版本升级!
  • 入门大模型的学习路线是什么?
  • 十一、Spring Boot:使用JWT实现用户认证深度解析
  • All in One: Multi-Task Prompting for Graph Neural Networks学习笔记
  • 【面试】Java面试频繁问到的题最新整理(附答案)
  • [Lc滑动窗口_1] 长度最小的数组 | 无重复字符的最长子串 | 最大连续1的个数 III | 将 x 减到 0 的最小操作数
  • 火山引擎 DeepSeek R1 API 使用小白教程
  • 使用 ASP.NET Core 创建和下载 zip 文件
  • 剖析RabbitMQ消息可靠投递
  • 算法day4 dfs搜索2题
  • Flask-Restful
  • APP爬取:基于Appium的App数据爬取实战详解
  • 苹果产品自助网址