css随记01编辑技巧,背景与边框
代码优化
一个按钮的例子,使其值同比例变化;
button{
color: white;
background: #58a linear-gradient(#77a0bb, #58a);
padding: 6px 16px;
border-radius: 4px;
//由padding+content构成,分别扩展
border: 1px solid #446d88;
font-size: 20px;
line-height: 30px;
//shadow: insert <x/y> <blur> <spread> <color>
box-shadow: 0 1px 5px gray;
text-shadow: 0 -1px 1px #335166;
}
- 让
line-height随着font-size自动变化; - 让
font-size随着其继承的font-size变化而自动变化;
font-size: 125%; /* Assuming a 16px parent font size */
line-height: 1.5;
- 对于大多扩展的值,设置单位
em,使其随着font-size等比变化 - 同时注意一些固定的值,仍使用
px固定;
text-shadow: 0 -.05em .05em #335166;
padding: .3em .8em;
border-radius: .2em;
box-shadow: 0 .05em .25em gray;
text-shadow: 0 -.05em .05em #335166;
- 按钮上设置了多种颜色,之后要修改或重用会变的比较麻烦;
- 为了使颜色更容易变化,把
linear-gradient一种渐变色设置为背景同色,即transparent或者hsla(0,0%,100%,0); - 将阴影颜色统一为
rgba(0,0,0,.5);
background: #58a linear-gradient(hsla(0,0%,100%,.2), hsla(0,0%,100%,0));
box-shadow: 0 .05em .25em rgba(0,0,0,.5);
text-shadow: 0 -.05em .05em rgba(0,0,0,.5);
- 重用这个按钮时,只要重新设置
background-color;
一个缩写的例子
border-width: 10px 10px 10px 0;
- 有时候完全的缩写也不一定正确,对于只有单一值的改变更适用形式:
border-width: 10px;
border-left-width: 0;
不要忘记使用继承
ingerit
对于自适应设计的一些建议
- 尽量使用百分比,如果不行的化使用
viewport-relative units; - 当设置固定数值的话,如宽度
,设置max-width取代width`; - 不要忘了给替代元素,如
img, object, video, and iframe.设置百分值的max-width; - 设置背景图时常添加
background-size: cover使图片完全覆盖,但注意对移动设备带宽考虑,并不一定要完全显示整个大图;
背景和边框
制作半透明边框
- 颜色设置使用模糊效果的值
hsl-> hsla, rgb-> rgba; - 例子;
div {
border: 10px solid hsla(0,0%,100%,.5);
background: white;
//默认是border-box,背景包括边框的模式;
background-clip: padding-box;
}
制作多边外框
- 使用
box-shadow,它可以设置多值,也受border-radius影响; - 注意多值的宽度都是重复叠加的,需要叠加计算;
- 注意由于不是真正的边框,会与周边元素叠加,需要额外设置
margin/padding,决定于阴影是否是insert;同时注意margin也是会叠加的; - 注意他不能绑定一些事件,如果很重要,请设置为
insert形式; - 例子
div {
background: yellowgreen;
box-shadow: 0 0 0 10px #655,
0 0 0 15px deeppink;
}
- 使用
outline,它不能设置多值,也不受border-radius影响; - 也需要
margin设置,只能out形式; - 可以额外设置
outline-offset;
div {
background: yellowgreen;
border: 10px solid #655;
outline: 15px solid deeppink;
}
更好的设置背景图片位置
- 先用
background总缩写大致确定图片状态与位置;再设置background-position做具体的调整;
background: url(http://csssecrets.io/images/code-pirate.svg)
no-repeat bottom right #58a;
background-position: right 20px bottom 10px;
- 默认的布局下,
background-position是基于padding-box; - 对于移位值相同情况下,修改
background-origin,使用padding替代; - 例子
padding: 10px;
background: url("code-pirate.svg") no-repeat #58a
bottom right; /* or 100% 100% */
background-origin: content-box;
- 使用
calc()计算横纵坐标位移,它可以混合百分比和具体值计算; - 例子
- 还可以用来剧中位置;
background: url("code-pirate.svg") no-repeat;
background-position: calc(100% - 20px) calc(100% - 10px);
设置内部弧度外部直边的方框
- 可以同时设置
border-radius和outline来呈现基本样式; - 此时他们之间会产生空白部分,利用
box-shadow填补; - 取
border-radius长度为r,outline长度为l,填补的长度范围应该在(1.414 - 1)r ~l之间; - 例子
outline: .6em solid #655;
box-shadow: 0 0 0 .4em #655; /* todo calculate max of this */
设置条纹背景
- 使用线性渐变
linear-gradient并将值一渐变开始位置比例设为50%;渐变比例为from到to的位置比,第一值to,第二值为from; - 默认是
repeat的,再设置background-size宽度和高度; - 例子
background: linear-gradient(#fb3 50%, #58a 0); //#fb3到.5位置结束,#58a从0位置开始;
background-size: 100% 30px;
liner-gradient可以设置多值,两个为一对to,form后者会覆盖前者;
//设置三种颜色
background: linear-gradient(green 33.3%, red 0, red 66.6%, yellow 0);
改变
linear-gradient的方向,设置to left|right|top|bottom或Ndeg的参数;
background: linear-gradient(to right, /* or 90deg */
#fb3 50%, #58a 0);
更复杂的背影样式
设置边框图片背景
- 简单的方法利用两个
div构建一个虚拟的图片边框;
.something-meaningful {
background: url(stone-art.jpg);
background-size: cover;
padding: 1em;
}
.something-meaningful > div {
background: white;
padding: 1em;
}
- 在一个
div设置两个背景层,渐变层和图片背景;用background-clip分别设置剪裁范围; - 设置图片背景的范围;
- 例子
background: linear-gradient(white, white),
url(http://csssecrets.io/images/stone-art.jpg);
background-clip: padding-box, border-box;
background-size: cover;
background-origin: border-box;
css随记01编辑技巧,背景与边框的更多相关文章
- css background之设置图片为背景技巧
css background之设置图片为背景技巧-css 背景 Background是什么意思,翻译过来有背景意思.同样在css里面作为css属性一成员同样是有背景意思,并且是设置背景图片.背景颜色. ...
- VS Code:让你工作效率翻倍的23个插件和23个编辑技巧
VS Code:让你工作效率翻倍的23个插件和23个编辑技巧 总结了一些平时常用且好用的 VS Code 的插件和编辑技巧分享出来. 文章详情可查阅我的博客:lishaoy.net ,欢迎大家访问. ...
- css狂记
接着上一篇 html狂记,同样是DIV+CSS传统站点开发,同样只是收集.整理... CSS 背景属性(Background) 属性 描述 CSS background 在一个声明中设置所有的背景属性 ...
- div+css布局记扎
实际开发网站过程中边碰壁边积累了一些div+css布局相关的小技巧,在这里做一些整理与大家一起探讨.本文章将间歇性更新. 1.div+css布局综述 div+css布局个人观点就是“盒子套盒子”的关系 ...
- css中的背景、边框、补丁相关属性
css中的背景.边框.补丁相关属性 关于背景涉及到背景颜色与背景图片 背景颜色background-color即可设定: 背景图片background-image即可设定: 但是背景图片还涉及到其他的 ...
- css奇特用法之 IMG添加背景图片配合显示--效果惊艳
IMG标签本身是显示图片的,但通过CSS可以再为其设置背景图片,让其和自身的图片配合来显示,最终的效果会让你惊叹.当然,这个发现来自于老外,所以代码马上与大家分享.再此之前,我也从来没有想到过这个思路 ...
- 第01讲- Android背景知识
第01讲Android背景知识 Android是基于Linux系统 Android系统框图 : 第一.操作系统层(OS) 第二.各种库(Libraries)和Android 运行环境(RunTime) ...
- CSS随记
在CSS中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:float属性不具有继承特性,就是说子元素 ...
- Netbeans源代码编辑技巧——使用代码补全和代码生成
原文 Netbeans源代码编辑技巧——使用代码补全和代码生成 使用代码补全生成代码 一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字.截至 NetBeans IDE 6.0,您 ...
随机推荐
- ASIHTTPRequest详解 [经典]
ASIHTTPRequest 对CFNetwork API进行了封装,并且使用起来非常简单,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中.ASIHTTPR ...
- iOS 开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...
- Python--set常用操作函数
python提供了常用的数据结构,其中之一就是set,python中的set是不支持索引的.值不能重复.无需插入的容器. 简单记录下set常用的操作函数: 1.新建一个set: set("H ...
- Mysql 全文索引
1创建一个带全文索引的表: 2查看表结构: 3,使用:SEELCT * FROM XXXX WHERE MATCH(FIELD) AGAINST ('...'); 注意:FULLTEXT,在检索时不区 ...
- 素数环(dfs+回溯)
题目描述: 输入正整数n,把整数1,2...n组成一个环,使得相邻两个数和为素数.输出时从整数1开始逆时针排列并且不能重复: 例样输入: 6 例样输出: 1 4 3 2 5 6 1 6 5 2 3 4 ...
- LNMP平台搭建---Linux系统安装篇
在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...
- Smarty模板技术学习(二)
本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...
- mysql编码设置
一:mysql字符集 mysql的字符集支持(Character Set Support)有两个类型:字符集(Character set)和连接校对(Collation).对于字符集的支持细化到四个层 ...
- bootstrap的验证和确认对话框
BootstrapValidator: http://bv.doc.javake.cn/api/ 引用 <!-- jquery-confirm.确认对话框 --> <link ...
- Vs 控件错位 右侧资源管理器文件夹点击也不管用,显示异常
问题:显卡驱动异常. 缘由:驱动精灵万能显卡安装系统 解决方案:根据笔记本型号去官网下载适配显卡驱动.