css 常用操作

一、transform影响fixed,transform限制position:fixed的跟随效果

    元素设置position:fixed后大家都知道可以让元素不跟随滚动条滚动,但是transform可以把position:fixed干掉让其降级成absolute。
如下面代码:

<div style="transform:scale(1);">
    <img src="mm1.jpg"style="position:fixed;" />
</div>

    本身应该不动的图片因为父级设置了transform而变成了absolute的效果。
    更多transform影响css的介绍请参考:

CSS3 transform对普通元素的N多渲染影响 « 张鑫旭-鑫空间-鑫生活

二、iOS下的 Fixed + Input 调用键盘的时候fixed无效问题解决方案

<body class="layout-scroll-fixed">
    <!-- fixed定位的头部 (absolute绝对定位也可以)-->
    <header></header>
    <!-- 可以滚动的区域 -->
    <main>
        <div class="content"><!-- 内容在这里... --></div>
    </main>
    <!-- fixed定位的底部 (absolute绝对定位也可以)-->
    <footer>
        <input type="text" placeholder="Footer..."/>
        <button class="submit">提交</button>
    </footer>
</body>
header, footer, main {display: block;}
header {position: fixed;//或者absolute
    height: 50px;left: 0;right: 0;top: 0;}
footer {position: fixed;//或者写成absolute
    height: 34px;left: 0;right: 0;bottom: 0;}
main {
/* main绝对定位,进行内部滚动 */
position: absolute;top: 50px;bottom: 34px;
/* 使之可以滚动 */
 overflow-y: scroll;
  /* 增加该属性,可以增加弹性,是滑动更加顺畅 */
  -webkit-overflow-scrolling: touch;}
main .content {height: 2000px;}

三、平铺

# 使用CSS的object-fit属性, 需要注意的是,这种方法只适用于img标签
<div><img url=""/></div>
div{width: 100px;height: 150px;}
img{width: 100%;height: 100%;object-fit: cover;}

# background 方式
<div><img url=""/></div>
div{width: 100px;height: 150px;}
img{background-size: contain;background-position: center center;background-repeat: no-repeat;background-image: url("");

四、滚动条样式 

::-webkit-scrollbar 滚动条整体部分,可以设置宽高背景样式
::-webkit-scrollbar-button 滚动条两端的按钮,可设置按钮背景
::-webkit-scrollbar-track 外层轨道
::-webkit-scrollbar-track-piece 内层滚动槽
::-webkit-scrollbar-thumb 滚动的滑块
::-webkit-scrollbar-corner 边角
::-webkit-resizer 定义右下角拖动块的样式
:horizontal 水平方向的滚动条
:vertical 垂直方向的滚动条

五、object-fit 

    fill:默认,不保证保持原有的比例,内容拉伸填充整个内容容器
    contain:保持原有尺寸比例。内容被缩放
    cover:保持原有尺寸比例。但部分内容可能被剪切
    none:保留原有元素内容的长度和宽度,也就是说内容不会被重置
    scale-down:保持原有尺寸比例。内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些

六、var(--status-bar-height) 用法

    在html标签上定义 --status-bar-height 属性(<html stayle="--status-bar-height: 0px"></html>)然后在css样式文件中就可以使用var(--status-bar-height)来获取属性值(.myheight { height: var(--status-bar-height)}还可以结合calc(var(--status-bar-height) + 0px)使用)

七、vh和dvh单位

    Chrome 108 新增了一些视口单位其中包括dvh,在移动设备上视口大小会受动态工具栏(地址栏和标签栏)是否存在的影响,但是vh的大小是不变的,现在移动浏览器当网页向下滚动时动态工具栏会自动缩回此时100vh是整个视口高度,为应对动态工具栏增加了 大视口(动态工具栏收缩时对应单位lv) 和 小视口(动态工具栏扩展时对应单位sv) 的概念,还增加了一个 动态视口 的概念对应单位dvh,lv和sv仍然不会随着大小视口切换而改变,但是dvh会随着大小视口的切换而自动改变

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值