您现在的位置是:网站首页> 编程资料编程资料
使用CSS3实现多列布局与多背景的技巧CSS3实现多背景模拟动态边框的效果CSS3点击按钮实现背景渐变动画效果CSS3条纹背景制作的实战攻略用CSS3实现背景渐变的方法css3中背景尺寸background-size详解使用CSS3的背景渐变Text Gradient 创建文字颜色渐变多重CSS背景动画实现方法示例CSS3之多背景background使用示例CSS3之背景尺寸Background-size使用介绍css3背景_动力节点Java学院整理
2021-09-05
981人已围观
简介 这篇文章主要介绍了使用CSS3实现多列布局与多背景的技巧,包括多列栏目的高度平衡和多间隙等一些细节方面的调整方法讲解,需要的朋友可以参考下
多列布局
CSS多列布局继承自块级布局模式,允许简单地定义多列文本。 一行太长的文字读起来很麻烦;当人眼从一行过长的文字末端移动到下一行开始处,就容易弄错到底该读哪一行。因此,为了最优化使用大的显示屏幕,设计者应该限制文字段落的宽度而并排排列,就像报纸一样。
糟糕的是如果不使用CSS和HTML在特定的位置强制换行,或者严格限制文本中允许的标记,或者夸张地使用脚本的话,这是不可能实现的。该限制通过从传统的块级布局模块中延伸出来的新的CSS属性得以解决。
列计数器和宽度
有两个CSS属性控制是否实现多列布局和显示多少列: column-count and column-width。
属性 column-count 设置特定数量的列数。例如,
- "column-count:2;">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
- qui officia deserunt mollit anim id est laborum
会以两列的方式显示内容:(如果你正使用支持多列布局的浏览器的话):
属性 column-width 设置期望的最小列宽。如果 column-count 没有设置,那么浏览器就会以合适的宽度尽量显示更多的列。
- "column-width:20em;">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
- qui officia deserunt mollit anim id est laborum
变成:
在多列块中,内容会自动从一列换到另一列中。所有 HTML, CSS 和 DOM 功能在列之间都得到支持, 比如编辑和打印。
columns 属性简写
多数时候,网页设计者都会使用 column-count 和 column-width 的一个. 由于它们的值没有重叠,一般使用简写属性 columns。例如,
CSS声明 column-width:12em 可替换成:
- "columns:12em">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
- qui officia deserunt mollit anim id est laborum
CSS声明 column-count:4 可替换成:
- "columns:4">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
- qui officia deserunt mollit anim id est laborum
CSS声明 column-width:8em 和 column-count:12 可替换成:
- "columns:12 8em">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
- qui officia deserunt mollit anim id est laborum
高度平衡
CSS3多列规范需要列高平衡:即,浏览器自动设置最大列高,因此每列中的内容高度大致相同。Firefox浏览器是这样的。
然而,一些情况下,明确设置最大列高也是有用的,这样内容从第一列开始,尽可能多的生成列,甚至会溢出右边沿。因此,如果通过设置height 或 max-height 属性来限制列高,在生成新的一列之前每一列都会仅允许增加到这个高度。该模型对布局来说也更高效。
列间隙
列之间有缝隙。建议值为1em。该值可通过设置多列模块的 column-gap 属性来修改:
- "column-width:20em; column-gap:2em;">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
- sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
- qui officia deserunt mollit anim id est laborum
优雅降级
多列属性会被不支持多列模型的浏览器忽略。因此,为这些浏览器创建单列结构而为支持多列的浏览器创建多列结构相对来说比较简单。
注意不是所有的浏览器都支持不带前缀的属性名。为了在大多数现代浏览器中应用这种特性,每个属性必须写三次: 一次用 -moz 前缀,一次用 -webkit 前缀,一次不使用前缀
多背景
通过使用 CSS3,你可以向元素应用多个背景。这些背景相互堆叠,第一个背景放在最上面,最后一个背景放在最下面。 仅最后一个背景允许拥有背景色。
指定多个背景很简单:
- .myclass {
- background: background1, background 2, ..., backgroundN;
- }
你既可以使用简写属性 background 也可以使用除 background-color 外的独立属性。即,,下面的属性可以用属性列表指定, 每个背景一个: background,background-attachment,background-clip, background-image,background-origin,background-position, background-repeat, background-size。
示例
该例中,三个背景进行堆叠:火狐标志,一个线性渐变, 和一张带有花的图片:
- .multi_bg_example {
- background: url(http://demos.hacks.mozilla.org/openweb/resources/images/logos/firefox-48.png),
- linear-gradient(to rightright, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)),
- url(http://demos.hacks.mozilla.org/openweb/resources/images/patterns/flowers-pattern.jpg);
- background-repeat: no-repeat, no-repeat, repeat;
- background-position: bottombottom rightright, left, rightright;
- }
结果
相关内容
- 详解CSS3 Media Queries中媒体属性的使用 CSS3 @media的基本用法总结详解使用CSS3的@media来编写响应式的页面 CSS3 media queries + jQuery实现响应式导航css3 media 响应式布局的简单实例css3media响应式布局实例CSS3中的Media Queries学习笔记使用 CSS3 中@media 实现网页自适应的示例代码
- CSS3媒体查询Media Queries基础学习教程CSS3中媒体查询结合rem布局适配手机屏幕纯js和CSS3媒体查询制作简单的响应式导航菜单特效源码详解CSS3 Media Queries中媒体属性的使用 使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法CSS3媒体查询(Media Queries)介绍css3 响应式媒体查询的示例代码
- CSS黑魔法之计数器counter的使用技巧CSS计数器counter()的用法简介CSS计数器(序列数字字符自动递增)详解
- 通过CSS3的object-fit来调整图片适配尺寸的技巧简介浅谈CSS中的 object-fit 与 object-position的使用
- CSS3中currentColor关键字的妙用
- 魔幻般冒泡背景的CSS3按钮动画CSS3鼠标滑过图片效果 用Font Awesome库实现悬停图标基于CSS3实现鼠标滑过图片上移代码纯CSS3实现鼠标滑过按钮动画第二节
- 你值得拥有的CSS下拉菜单效果纯CSS实现下拉菜单的示例代码CSS3模拟动画下拉菜单效果CSS导航栏及弹窗示例代码CSS下拉菜单简单制作教程 css制作黑色经典导航下拉菜单基于CSS实现的4级下拉菜单效果代码CSS实现的灰色下拉菜单效果代码纯CSS实现的大型下拉菜单的示例代码
- 使用div+CSS将页脚始终控制在页面最下方的方法css三种方法实现div在浏览器水平居中一个div在浏览器水平居中的实现方法div+CSS制作类似微信对话气泡效果的实例总结EXCEL表格中的#DIV/0!等符号怎么全部当计算?让DIV水平垂直居中的两种完美方法推荐学习DIV+CSS网页布局之混合布局学习DIV+CSS网页布局之三列布局学习DIV+CSS网页布局之两列布局学习DIV+CSS网页布局之一列布局Div+CSS对HTML的table表格定位用法实例
- Div+CSS对HTML的table表格定位用法实例浅析Table 和 div 的简介及用法
- css实现移动端图片文字水平居中css水平居中的各种方法总结(推荐)浅析CSS实现水平垂直同时居中的5种思路CSS实现水平居中的4种思路简要概述css三种方法实现div在浏览器水平居中css使用flexbox布局容器内多元素水平居中关于css水平居中的小小探讨