、首字母大写
::first-letter 伪类选择器用来指定元素第一个字母的样式。
2、透明图片阴影
相信你一定用过box-shadow属性给盒子设置阴影吧,但是当你想要给透明图片添加阴影的时候,却看起来像加了个边框!这时候神奇的drop-shadow就派上用场了。
drop-shadow 的工作方式是,其遵循给给定图片的 Alpha 通道。因此阴影是基于图片的内部形状,而不是显示在图片外面。
3、镂空文字
-webkit-text-stroke: 1px #1e80ff;
注意:镂空文字属性ie浏览器不兼容
4、背景文字
利用background-clip: text;规定背景的绘制区域,再把文字颜色设置为透明实现。
5、网页灰度效果
grayscale(amount)函数将改变输入图像灰度。amount 的值定义了灰度转换的比例。值为 100% 则完全转为灰度图像,值为 0% 图像无变化。若未设置值,默认值是 0。(如下鼠标悬浮体验效果)
6、flex布局最后一行左对齐
方法1:使用js补齐元素,例如,每行展示3个元素,现在一共有5个元素,那么我们就可以在最后补一个同宽度的透明元素。
方法2:justify-content设置为space-between实现两端对齐效果,最后一行再特殊处理:思路为选中最后一个元素,设置其右边距,挤到只能容纳最后一行元素的宽度。
方法3:justify-content设置为flex-start,先将全部元素左对齐,然后计算出每个元素的间距,通过gap设置元素间距(如果行列间距不同,可以用column-gap设置列间距,row-gap设置行间距),伪装实现两端对齐的效果。
7、毛玻璃背景效果
使用backdrop-filter与filter都可以写出高斯模糊的效果,但是两者使用起来还是有区别的,而且使用的目标也不同。
区别:
backdrop-filter:使背景模糊,不会影响到背景下面的图片
filter:通常是定义 img的可视效果,修改图片的模糊效果,值越大越模糊
8、inline元素间的空白间隙
行内元素排列的时候,明明没有边框,也没有间距,但就是有空隙。
其实间隙是由换行或者回车导致的,你可以将标签代码都写同一行即可解决。但是这样有点呆,我们可以通过设置父元素的font-size为0将空隙缩小到0。
9、文字溢出省略
单行文本:
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
多行文本:
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;(多少行省略)
overflow: hidden;
注意:ie不兼容,可用min-height:省略的行数*行高 来解决;
10、列表除最后一个元素外,其他元素统一样式
一般这种情况,我们可以先全部统一样式,然后再单独设置最后一个元素样式覆盖公共样式。
也可以用 :not 选择器直接设置除了最后一个元素的样式。
:not(selector) 选择器匹配每个元素是不是指定的元素/选择器。
11、隐藏滚动条
.element::-webkit-scrollbar {
display: none;
}
12、禁止用户选择
div {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
13、暂停动画
animation-play-state可以控制动画状态
次画的是QQ浏览器图标,比较复杂,各种高光渐变色内阴影等。其实,CSS画画就和用PS画画一样,从最底层,一层一层往上画,最后合成一张图:
CSS画QQ浏览器图标
html,body{ height:100%; } body{ display: flex; justify-content: center; align-items: center; background-color: #eee; }
.logo{ width: 300px; height:300px; background: linear-gradient(to right bottom,#66adff,#1a6adb); border-radius: 999px; position: relative; } <div class="logo"></div>
效果图:
.logo:after{ position: absolute; width: 150px; height: 150px; content:''; background-color: #eee; border-radius: 999px; z-index: 15; left: 50%; top:50%; margin-left: -75px; margin-top:-75px; }
效果图:
.logo:before{ position: absolute; width: 166px; height: 166px; content:''; background: linear-gradient(to right bottom,#1a6adb,#66adff); border-radius: 999px; z-index: 9; left: 50%; top:50%; margin-left: -83px; margin-top:-83px; }
效果图:
.before-high-light{ position: absolute; width: 168px; height: 168px; content:''; background: linear-gradient(to right bottom,#96d9ff,#5cafff,#96d9ff); border-radius: 999px; z-index: 8; left: 50%; top:50%; margin-left: -84px; margin-top:-84px; } <div class="logo"> <div class="before-high-light"></div> </div>
效果图:
.left-top-high-light{ position: absolute; width: 298px; height: 298px; content:''; background: linear-gradient(to right bottom,rgba(255,255,255,.8),rgba(255,255,255,0) 50%); border-radius: 999px; z-index: 7; left: 50%; top:50%; margin-left: -149px; margin-top:-149px; } <div class="logo"> <div class="before-high-light"></div> <div class="left-top-high-light"></div> </div>
效果图:
.clouds{ position: absolute; width: 90px; height: 90px; background-color: #fff; border-radius: 999px; z-index: 16; bottom: 20px; right:60px; box-shadow: -3px 15px 12px 0 rgba(42,127,236,.3) inset; } .clouds:before{ content:''; position: absolute; width: 100px; height: 70px; background-color: #fff; border-radius: 999px; bottom: -20px; left:-30px; box-shadow: 5px -5px 8px 0 rgba(42,127,236,.3) inset; } .clouds:after{ content:''; position: absolute; width: 123px; height: 60px; background-color: #fff; border-radius: 0 999px 999px 0; bottom: -20px; right:-30px; box-shadow: -16px -9px 11px 0 rgba(42,127,236,.3) inset; } <div class="logo"> <div class="before-high-light"></div> <div class="left-top-high-light"></div> <div class="clouds"></div> </div>
效果图:
.left-bottom-high-light{ position: absolute; width: 150px; height: 150px; content:''; background: linear-gradient(to right bottom,rgba(255,255,255,0) 50%,rgba(255,255,255,1) 70%); border-radius:0 0 0 999px; z-index: 14; left:0; bottom:0; filter: blur(1px); } <div class="logo"> <div class="before-high-light"></div> <div class="left-top-high-light"></div> <div class="clouds"></div> <div class="left-bottom-high-light"></div> </div>
效果图:
.shadow{ position: absolute; width:200px; height:10px; content:''; background:#666; border-radius:50%; z-index: 1; left: 50%; bottom:-3px; margin-left: -100px; filter: blur(4px); } <div class="logo"> <div class="before-high-light"></div> <div class="left-top-high-light"></div> <div class="clouds"></div> <div class="left-bottom-high-light"></div> <div class="shadow"></div> </div>
效果图:
.high-light{
position: absolute;
width:100px;
height:20px;
content:'';
background:rgba(255,255,255,.9);
border-radius:50%;
z-index: 15;
left: -8px;
top: 33px;
filter: blur(4px);
transform: rotate(-45deg);
}
<div class="logo">
<div class="before-high-light"></div>
<div class="left-top-high-light"></div>
<div class="clouds"></div>
<div class="left-bottom-high-light"></div>
<div class="shadow"></div>
<div class="high-light"></div>
</div>
最终效果图:
作镂空的较为复杂的模型,不是传统方法所能胜任的。假如我们通过遮罩将一个球体需要镂空的地方去掉,再为其增加厚度,球体就可以变成复杂的镂空球体。而ZBrush®的自定义遮罩形状和ZBrush新加的功能Subtool中的Extract功能制作有厚度的镂空球体为此方法提供了实际操作的可能。
制作过程和技巧
1.ZBrush中的标准几何体是参数化物体,而参数化物体是不能用Subtool下的Extract命令的,所以要先将参数化物体进行转换。
选择Tool>Sphere3D, 在ZBrush中建立一个球体。点击Tool>Make Polymesh3D将参数化球体转化为Polymesh球体以便进行Extract命令。如图所示。
为做出更多细节,增大球体的细分,点击Tool>Geometry>Divide将球体增加到第四级细分(此步骤按读者电脑配置而定,越高越好)。如图所示。
2.假如确定了遮罩形状,用按住Ctrl键拖动的方法建立遮罩,遮罩在球体上的分布不能达到我们的需要,因为遮罩不能精确的定位。如图所示。
而贴图因为有UV分布的关系可以在模型上精确的分布,我们能否利用贴图的精确定位的能力来决定遮罩的分布呢,答案是肯定的。在Tool>Masking下的Mask By Intensity命令可以按照贴图灰度的强度控制遮罩的分布。
点击Texture>Import或点击如图位置将素材图片AsileFX_Alpha_0329导入。如图所示。
旋转视图观察发现贴图的分布并不想我们想象中的完美,两边更有极点,如图所示,这是UV的分布问题,只要调整UV的分布即可。
点击Tool> Geometry>Lower Res降低球体细分至第一级,选择Tool>Texture>Uvp将球体的UV分布调节成展平式分布,使贴图的分布达到较为满意的效果。如图所示。
注:1.只有在最低细分下才可以调节UV的分布方式,否则将会有如下提示。
3.Tool>Texture下有几种UV的分布方式,计算模式各有优缺点,选择时按情况而定。返回球体第四级细分,点Tool>Masking>Mask By Intensity选项,使遮罩按照贴图的灰度分布。
在Texture菜单下选择Texture off,或者在如图所示位置选择,去掉贴图,发现遮罩遮住贴图的黑色部分与我们需要的相反,按住Ctrl键左键单击视图使遮罩反向,达到我们要求的遮罩。如图所示。
4.接下来就可以利用Extract命令产生新的镂空物体。
单击Tool>Subtool>Extract,按照球体的遮罩产生带有一定厚度的新物体,并在Subtool里产生新的一层,如图所示。
关闭球体的显示,就可以看到球体的镂空效果了。
5.镂空球体的边缘不是很圆滑,这是因为贴图的质量和球体的细分不足,只要进行一下平滑,即可达到我们想要的效果,如图所示。
选择Tool>Deformation>Smooth,选择XYZ将其值调至100,如图。
注:镂空球体平滑次数可视情况而定,制作出的边缘平滑度也和细分有关,细分越高初始的边缘也越光滑。
6.使用同样的方法利用图AsileFX_Alpha_0347再建立另一个不同花纹的镂空球体。如图所示。
只关闭球体显示后发现两个镂空球体一样的,如下图所示,不符合我们的要求。我们可以利用Deformation调整两个镂空球体的空间关系来达到我们所要求的效果。
选择第二次建立的镂空球体层(选择那一层楼空球体操作可按照个人喜好),选择Tool>Deformation>Size,选择XYZ将其值调至-20。两个楼空球体变得一大一小。
观察发现因为贴图在球体中间难免有拉伸,造成镂空效果在中间比较简单,为保证其艺术效果,可以将镂空球体稍微建议旋转加以旋转,使整体复杂感增强。
选择第二次建立的镂空球体层(选择那一层楼空球体操作可按照个人喜好),选择Tool>Deformation>Rotate,选择XY将其值调至90。
注:Deformation下的XYZ是所选命令可影响的轴向,在调节平滑和大小的时侯,打开三个轴向是因为要效果要对整体进行,而旋转时,只要在一个平面进行,所以只要选择XY即可。至此模型制作完成。如图所示。
(原文来自:http://www.zbrushcn.com/shili/loukong-xiaoguo.html)
*请认真填写需求信息,我们会在24小时内与您取得联系。