首页 > 其他分享 >css 样式总结

css 样式总结

时间:2022-11-28 14:35:55浏览次数:35  
标签:总结 box bottom 样式 margin color border width css

# css 样式汇总
* 处理图片 5px 间距问题
    1. 给父元素设置 font-size: 0
    2. 给 img 设置 display: block
    3. 给 img 设置 vertical-align: bottom
    4. 给父元素设置 line-height: 5px

* 元素高度跟随窗口
    ```js
        <!-- html -->
        <temlplate>
            <div class="app">
                <div class="child"></div>
            </div>
        </temlplate>
        <!-- css -->
        *{
            margin: 0;
            padding: 0;
        }
        .child{
            width: 100%;
            height: 100vh;
            background-image: linear-gradient(180deg,#2af598 0%, #009efd 100%)
        }
    ```

* 修改 input placeholder样式
    ```js
        <!-- html -->
        <imput type="text" class="placeholder-custom" placeholder="请输入用户名搜索"></imput>
        <!-- css -->
        input{
            width: 300px;
            height: 30px;
            border: none;
            outline: none;
            display: block;
            margin: 15px;
            border: solid 1px #dee0e9;
            padding: 0 15px;
            border-radius: 15px;
        }
        .placeholder-custom::webkit-input-placeholder{
            color: #babbc1;
            font-size: 12px;
        }
    ```

* 巧用 not 选择器
    > 最后一个元素不需要下边框
    ```js
        <!-- html -->
        <ul>
            <li>靓仔01</li>
            <li>靓仔02</li>
            <li>靓仔03</li>
            <li>靓仔04</li>
        </ul>
        <!-- css -->
        li:not(:last-child){
            border-bottom: 1px solid #ebedf0;
        }
    ```

* 使用 caret-colot 改变光标颜色
    > 在做表单相关需求时,有时候需要修改一闪一闪光标的颜色。caret-color 属性完美支持这个需求
    ```js
        <!-- html -->
        <input type="text" class="caret-color" />
        <!-- css -->
        .caret-color{
            caset-color: #ffd476;
        }
    ```

* 移出 type="number" 尾部的箭头
    > 默认情况下 input type="number" 时尾部会出现小箭头
    ```js
        <!-- html -->
        <input type="number" class="no-arrow">
        <!-- css -->
        .no-arrow::webkit-inner-spin-button{
            -webkit-appearance: none;
        }
    ```

* outline:none 移除状态线
    > 输入框选中时,默认会带有蓝色的状态先, 使用 outline: none 一键移除

* 解决 IOS 滚动条卡顿
    ```css
        body,html{
            -webkit-overflow-scrolling: touch;
        }
    ```

* 画三角形
    ```js   
        <!-- html -->
        <div class="box">
            <div class="triangle bottom"></div>
            <div class="triangle right"></div>
            <div class="triangle top"></div>
            <div class="triangle left"></div>
        </div>
        <!-- css -->
        .triangle{
            display: inline-block;
            margin-right: 10px;
            /* 基础样式 */
            border: solid 10px transparent;
        }
        /* 下 */
        .triangle.bottom{
            border-top-color: #0097a7;
        }
        /* 上 */
        .triangle.bottom{
            border-bottom-color: #0097a7;
        }
        /* 左 */
        .triangle.bottom{
            border-right-color: #0097a7;
        }
        /* 右 */
        .triangle.bottom{
            border-left-color: #0097a7;
        }
    ```

* 画小箭头
    ```js
        <!-- html -->
        <tempalte>
            <div class="box">
                <div calss="box-inner">
                    <div class="arrow bottom"></div>
                    <div class="arrow top"></div>
                    <div class="arrow right"></div>
                    <div class="arrow left"></div>
                </div>
            </div>
        </tempalte>
        <!-- css -->
        .arrow {
            display: inline-block;
            margin-right: 10px;
            /* 基础样式 */
            width: 0;
            height: 0;
            /* 基础样式 */
            border: 16px solid;
            border-color: transparent #CDDC39 transparent transparent;
            position: relative;
        }

        .arrow::after {
            content: "";
            position: absolute;
            /* 通过位移覆盖背景 */
            right: -20px;
            top: -16px;
            border: 16px solid;
            border-color: transparent #fff transparent transparent;
        }
        /*下*/
        .arrow.bottom {
            transform: rotate(270deg);
        }
        /*上*/
        .arrow.top {
            transform: rotate(90deg);
        }
        /*左*/
        .arrow.left {
            transform: rotate(180deg);
        }
        /*右*/
        .arrow.right {
            transform: rotate(0deg);
        }
    ```

* 图片尺寸自适应
    ```js
        <template>
            <div class="box">
                <div class="img-container">
                    <img src="https://i0.hippopx.com/photos/179/171/625/sparkler-holding-hands-firework-preview.jpg" alt="">
                </div>
                </div>

                <div class="box">
                <div class="img-container">
                    <img src="https://i0.hippopx.com/photos/179/171/625/sparkler-holding-hands-firework-preview.jpg" alt="">
                </div>
                </div>

                <div class="box-vw">
                <div class="img-container">
                    <img src="https://i0.hippopx.com/photos/179/171/625/sparkler-holding-hands-firework-preview.jpg" alt="">
                </div>
            </div>
        </template>

        .box, .box-vw{
            background-color: #f5f6f9;
            border-radius: 10px;
            overflow: hidden;
            margin-bottom: 15px;
        }

        .box:nth-of-type(2){
            width: 260px;
        }
        /* vw方案 */
        .box-vw .img-container{
            width: 100vw;
            height: 66.620879vw;
            padding-bottom: inherit;
        }
        /* padding方案 */
        .img-container{
            width: 100%;
            height: 0;
            /* 图片的高宽比 */
            padding-bottom: 66.620879%;
        }
        img{
            width: 100%;
        }
    ```

* 隐藏滚动条
    ```js
        <template>
            <div class="box">
                <div>
                    爱情会离开,朋友会离开,快乐会离开,但是考试不会,因为你不会就不会
                </div>
            </div>

            <div class="box box-hide-scrollbar">
                <div>只是因为在人群中多看了你一眼,你就--问我游泳健身了解一下?</div>
            </div>
        </template>

        .box {
            width: 375px;
            overflow: scroll;
        }
        /* 关键代码 */
        .box-hide-scrollbar::-webkit-scrollbar {
            display: none; /* Chrome Safari */
        }
        .box > div {
            margin-bottom: 15px;
            padding: 10px;
            background-color: #f5f6f9;
            border-radius: 6px;
            font-size: 12px;
            width: 750px;
        }
    ```

* 自定义文本选中的样式
    ```css
        .box-custom::selection{
            color: #fff;
            background: #ff4c9f;
        }
    ```

* 禁止选中
    ```css
        .forbid{
            user-select: none;
        }
    ```

* 单行文本溢出显示省略符
    ```css
        .ellipsis{
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            /* 非必填,只是为了制造一行放不下的效果 */
            max-width: 375px;
        }
    ```
* 多行文本溢出显示省略号
    ```css
        .ellipsis{
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }
    ```
* 使用 filter: grayscale(1) 使得网页呈现哀悼模式

* 多个行内元素并排展示是,中间有一个字符的空隙
    1. 给父元素设置 font-size: 0px;
    2. 取消换行符
    3. 使用margin负值
    4. 使用浮动

* margin 塌陷问题
    * 兄弟元素 垂直方向塌陷
        1. 尽量只给一个盒子添加margin值
        2. 给一个盒子添加一个父元素设置样式 overflow: hidden
    * 父子包含关系 垂直塌陷
        1. 父元素设置: border: 1px solid transparent;  
        2. 父元素设置: overflow: hidden;
        3. 父元素设置: position: fixed/absolute 
        4. 子元素的margin 改成 padding

# 优化
* 初始化 box-sizing
    > 从 html 中继承 box-sizing 属性,这样的话,后期维护方便
    ```css
        html{
            box-sizing: border-box;
        }
        *,*:before,*:after{
            box-sizing: inherit;
        }
    ```

  

标签:总结,box,bottom,样式,margin,color,border,width,css
From: https://www.cnblogs.com/G-Lose/p/16932089.html

相关文章

  • 【Web技术】188-[译] 现代 JavaScript 与 CSS 滚动实现指南
    编者按:本文由sea_ljf翻译并发表于众成翻译平台,原标题“滑向未来(现代JavaScript与CSS滚动实现指南)”一些(网站)滚动的效果是如此令人着迷但你却不知该如何实现,本文将为......
  • 10个实用的数据可视化的图表总结
    用于深入了解数据的一些独特的数据可视化技术可视化是一种方便的观察数据的方式,可以一目了然地了解数据块。我们经常使用柱状图、直方图、饼图、箱图、热图、散点图、线状......
  • 使用NUnit做单元测试(总结版)
    使用NUnit做单元测试(总结版)一、本文摘要: ●什么单元测试 ●什么是NUnit ●NUnit的下载以及安装 ●NUnit的启动 ●NUnit的最简单使用 ●验证设计的功能是否实现 ......
  • 关于final关键字的一些总结
    final关键字主要用在三个地方:变量、方法、类。1.对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便......
  • vue element 样式不生效问题
    1.第一次用element-ui的select框发现怎么改样式都不生效,尝试了各种方式,总显示默认样式;获取了dom元素发现弹框是插在了body元素内,并不是对应的select选择下翻了翻文档,发......
  • Python 爬取单个网页所需要加载的URL地址和CSS、JS文件地址
    直接上代码:脱敏后自用的py采集代码,#!/usr/bin/envpython#-*-coding:utf-8-*-"""@author:Andy@file:xxx.py@time:下午05:50@desc:采集的文章数据进博客"""im......
  • 创建水平滚动的正确方式【CSS 网格布局】
    原文链接​​Creatinghorizontalscrollingcontainerstherightway[CSSGrid]​​--作者​​DannieVinther​​自从奈飞​​Netflix​​成为了家喻户晓的名字以......
  • css代码大全
    字体属性:(font)大小{font-size:x-large;}(特大)xx-small;(极小)一般中文用不到,只要用数值就可以,单位:PX、PD样式{font-style:oblique;}(偏斜体)italic;(斜体)norm......
  • css代码大全2
    一CSS文字属性:color:#999999;/*文字颜色*/font-family:宋体,sans-serif;/*文字字体*/font-size:9pt;/*文字大小*/font-style:itelic;/*文字斜体*/font-var......
  • 计算机网络总结
    1、tcp如何保证可靠性 1.连接管理连接管理机制即TCP建立连接时的三次握手和断开连接时的四次挥手。2.校验和 TCP检验和的计算与UDP一样,在计算时要加上12byte的伪首......