css部分高级技巧

1.1 overflow 溢出(重点)

  • 检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。
属性值 描述
visible 不剪切内容也不添加滚动条
hidden 不显示超过对象尺寸的内容,超出的部分隐藏掉
scroll 不管超出内容否,总是显示滚动条
auto 超出自动显示滚动条,不超出不显示滚动条

1.2 显示与隐藏总结

属性 区别 用途
display 隐藏对象,不保留位置 配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
visibility 隐藏对象,保留位置 使用较少
overflow 只是隐藏超出大小的部分 1. 可以清除浮动 2. 保证盒子里面的内容不会超出该盒子范围

2.1 鼠标样式cursor

设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。

属性值 描述
default 小白 默认
pointer 小手
move 移动
text 文本
not-allowed 禁止
<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>

2.2 轮廓线 outline

最直接的写法是 :  outline: 0;   或者  outline: none;

一般针对input使用

<input  type="text"  style="outline: 0;"/>

2.3 防止拖拽文本域resize

实际开发中,我们文本域右下角是不可以拖拽

<textarea  style="resize: none;"></textarea>

3. vertical-align 垂直对齐

  • 有宽度的块级元素居中对齐,是margin: 0 auto;
  • 让文字居中对齐,是 text-align: center;

vertical-align 垂直对齐,它只针对于行内元素或者行内块元素

vertical-align : baseline |top |middle |bottom 

设置或检索对象内容的垂直对其方式。

  • 注意:

    vertical-align 不影响块级元素中的内容对齐,它只针对于行内元素或者行内块元素

    特别是行内块元素, 通常用来控制图片/表单与文字的对齐

3.1 图片、表单和文字对齐

所以我们知道,我们可以通过vertical-align 控制图片和文字的垂直关系了。 默认的图片会和文字基线对齐。

3.2 去除图片底侧空白缝隙

 

  • 原因:

    图片或者表单等行内块元素,他的底线会和父级盒子的基线对齐。

    就是图片底侧会有一个空白缝隙。

  • 解决的方法就是: 

    • 给img vertical-align:middle | top| bottom等等。 让图片不要和基线对齐。
    • 给img 添加 display:block; 转换为块级元素就不会存在问题了。
    • 或者float. 

3.3 还会遇到input框 受外层div 的line-height影响,往下移。

需要重设input父元素line-height为input的高度。

由于input是inline-block属性。需要设置vertical-align:top。

input {
    border: none;
    vertical-align: top;
    margin: 0;
    padding: 0;
    outline: none;
}
发布了96 篇原创文章 · 获赞 10 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/feifeiwuxian/article/details/103273254