flex布局实现一左一右块
1 | <style> |
在做一个列表的时候,单个Flex容器内有三个内联的靠右对齐的按钮,效果如图:

而我想让红色按钮靠左,而另外两个蓝色按钮保持靠右
方法A:
为红色按钮单独加上:flex: 1
此效果的原理是:利用flex:1,动态填充宽度
方法B:
这个时候我们可以为红色按钮单独加上:margin-right : auto;
效果如图:

此效果的原理是:
margin-right 不设置的话默认是0,父容器width 定宽之后,margin-right取值为 auto ,
则自动占据了剩余的全部宽度 ——《css权威指南》
css选择前几个元素或者后几个元素
操作前4个元素
1 | <style type="text/css"> |
操作元素3之后的元素
1 | #nth-test div:nth-child(n + 3) { |
text-decoration: line-through wavy red; ** //三个参数,*** 1:下划线、删除线; 2:wavy代表波浪线; 3:线条颜色*
给文字加边框
通常,border 属性是为 HTML 元素加上边框的不二选择,但这个边框是基于盒子模型,即呈现在元素的四周,无法对盒子内的文字生效。
假设我想让文字带有 1px 的黑色边框,首选 text-shadow ,它能设置多个文字阴影,从视觉上达到边框效果。
HTML 代码如下:
1 | <div class="text">I Like CSS World</div> |
CSS 代码很简单,将 text-shadow 的 blur 值设为 0,分别向右下、左上、右上、左下方向偏移 1px.
1 | .text { |
text-shadow 兼容所有现代浏览器,但仔细观察,会发现边缘处有锯齿状,毕竟是模拟实现,效果差强人意。
第二种方法选用 -webkit-text-stroke 属性,字面意思就是为文字加上边框。
它是 -webkit-text-stroke-width 和 -webkit-text-stroke-text 两个属性的缩写形式。
1 | .text { |
-webkit-text-stroke 使用简单,效果出色。
但相信你也注意到了 “webkit”,一般带有前缀的属性兼容性较差,又或非 CSS 官方认定的属性(浏览器厂商自己实现),最好不要在生产环境使用它。
- 本文标题:你不知道的css
- 本文作者:邵预鸿
- 创建时间:2021-05-17 10:51:00
- 本文链接:/images/logo.jpg2021/05/17/你不知道的css/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!