这里是我收集到的很有用的10条CSS规则,CSS是网页

作者: 前端  发布:2019-11-09

网页设计师必备的10个CSS技巧

2012/08/05 · CSS · CSS

英文原文:10 essential css rules for web designers,翻译:曾沙@oschina

CSS是网页设计师的基础,对CSS的了解能使他们能够设计出更加美观别致的网页。使用CSS技巧来巧妙地处理CSS是非常令设计师着迷的事情。在CSS的深海世界里有很多有意思的东西,你只需要找到最适合你的就好。当然我们不可能一下子就记住所有CSS的规则和语法,但为了以后的发展我们还是应该记住那些非常有用的CSS技巧。今天我们精心准备了10条对网页设计师最有用的CSS技巧,如果你想设计出独一无二脱颖而出的网页你必须得好好注意了。这篇博客是在与一家提供高质量印刷服务的在线印刷公司“ Business Card Printing”合作时写的。

1. @font-face

一种用其他服务器上的字体的好方法。很明显,如果你不能在托管服务器上找到你需要的字体,你可以在样式中使用这个方法来引入你需要的字体。

CSS

@font-face { font-family: Blackout; src: url("assests/blackout.ttf") format("truetype"); }

1
2
3
4
@font-face {
    font-family: Blackout;
    src: url("assests/blackout.ttf") format("truetype");
}

2. .clearfix

如果你没法清除元素的浮动,这是清除浮动一种方法。你可以对任何HTML元素单独使用这种方法。

CSS

.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }

1
2
3
4
5
6
7
8
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

3. @media

@media 可以设置你当前响应网站的媒介,它能帮助你根据用户的显示器调整网站的宽度。

 

CSS

@media screen and (max-width: 960px) { }

1
2
@media screen and (max-width: 960px) {
}

 

1
 

4. transform: rotate(30deg); 结合这些转换属性和CSS转场效果来创造有意思的动态效果。

CSS

.title { transform: rotate(40deg); }

1
2
3
.title {
    transform: rotate(40deg);
}

5. background-size

这条规则帮助你在网站中适应全屏幕背景。这不像之前的CSS版本必须写很笨重的代码。

CSS

body { background: url(image.jpg) no-repeat; background-size: 100%; }

1
2
3
4
body {
    background: url(image.jpg) no-repeat;
    background-size: 100%;
}

6. input[type=”text”]

这个input[type=”text”]选择器和其他高级选择器把你从一般水平带到高级水平非常有帮助。使用属性选择器来控制输入元素的提交版本或为一个外链增加一个图标这样很不错吧?

CSS

input[type="text"] { width: 250px; }

1
2
3
input[type="text"] {
    width: 250px;
}

7. margin: 0 auto;

很奇怪,没有任何特定的标准来使块级元素居中。这个方法可以使块级元素在父元素中居中。

CSS

#container { margin: 0 auto; }

1
2
3
#container {
    margin: 0 auto;
}

8. a {outline: none;}

在浏览你的网站的时候,点一个链接一个巨大的虚线框就横跨整个网页这将严重影响用户的心情。这个“a {outline: none;}”声明将移除这个,但为了易用性别忘了给你的链接也加上:focus状态。

CSS

 a {outline: none;}

1
 a {outline: none;}

9. overflow: hidden

这是最好的清除还没加载到你CSS里面的元素浮动的方法。使用它使网站的响应速度更快。

CSS

.container { overflow: hidden; }

1
2
3
.container {
    overflow: hidden;
}

10. color: rgba();

PNG图片因为它的透明性使它在网页设计中很流行并广泛使用,但是现在你可以使用下面这种方法同样实现透明。它使用红、绿、蓝三通道并设置其不透明度值来实现透明,像0.5对应%50的不透明度。

CSS

.btn { color: rgba(0,0,0,0.5); }

1
2
3
.btn {
    color: rgba(0,0,0,0.5);
}

 

1 赞 9 收藏 评论

图片 1

通过网页设计师的大量CSS经验,我们会记住所有种代码语法,兼容性和片段。有一些特定的CSS,可以真正帮助改变你的网站设计改变较旧的技术规则和声明。这里是我收集到的很有用的10条CSS规则

转自

 

以下是常用的代码收集,没有任何技术含量,只是填坑的积累。转载请注明出处,谢谢。

@media

@media screen and (max-width: 960px) {

}

 

如果需要支持老版本的浏览器,那你就必须坚持使用css1的媒体描述符screen和print,到底是哪些老版本的浏览器,没有查。它们是相互排斥的,因此在为屏幕显示而生成页面的时候,浏览器会忽略掉打印样式表,反之亦然。所以,每个样式表都需要包含相同的样式选择器,但是有不同的规则声明,以便为不同的输出设备分别生成页面样式。 

1. css 2.x

  • 文字换行

    /强制不换行/ white-space:nowrap; /自动换行/ word-wrap: break-word; word-break: normal; /强制英文单词断行/ word-break:break-all;

  • 两端对齐

    text-align:justify;text-justify:inter-ideogra

  • 去掉Webkit(chrome)浏览器中input(文本框)或textarea的黄色焦点框

    input,button,select,textarea{ outline:none;} textarea{ font-size:13px; resize:none;}

  • 去掉chrome记住密码后自动填充表单的黄色背景

  • ie6: position:fixed

    .fixed-top / position fixed Top /{position:fixed;bottom:auto;top:0; }

    • html .fixed-top / IE6 position fixed Top /{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));} *html{background-image:url(about:blank);background-attachment:fixed;}
  • clearfix

    .clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;} .clearfix{display:inline-block;} html[xmlns] .clearfix{display:block;}

    • html .clearfix{height:1%;}

    .clearfix{*zoom: 1;} .clearfix:after{clear:both;display:table;content:"”;}

    .clearfix{overflow:hidden;_zoom:1;}

  • seperate-table

    .tab{border-collapse:separate;border:1px solid #e0e0e0;} .tab th,.tab td{padding:3px;font-size:12px;background:#f5f9fb;border:1px solid;border-color:#fff #deedf6 #deedf6 #fff;} .tab th{background:#edf4f0;} .tab tr.even td{background:#fff;}

    111 222
    111 222
  • min-height: 最小高度兼容代码

    .minheight500{min-height:500px;height:auto !important;height:500px;overflow:visible;}

  • 鼠标不允许点击

    cursor:not-allowed;

  • mac font: osx平台字体优化

    font-family:"Hiragino Sans GB","Hiragino Sans GB W3",'微软雅黑';

  • 文字过多后显示省略号

    .ellipsis,.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

background-size

1 body {
2     background: url(image.jpg) no-repeat;
3     background-size: 100%;
4 }

 

CSS3支持 background-size这一属性,只需要这样简单的一行代码就实现了日益流行的全背景图像效果

 

2. css 3

  • title 换行

  • 关闭 x 符号

    ×

  • 投影

    .b{box-shadow:inset 1px -1px 0 #f1f1f1;text-shadow:1px 1px 0px #630;} filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#99000000',endColorstr='#99000000');background:rgba(0,0,0,.6);

    background:rgba(0,0,0,0.5);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#50000000',endColorstr='#50000000')9;

  • search占位

    ::-webkit-input-placeholder {} ::-moz-input-placeholder {} input:focus::-webkit-input-placeholder { color: transparent; } -webkit-appearance:none; google边框去除 input[type="search"]{-webkit-appearance:textfield;} // 去除chrome默认样式 line-height: normal; / for non-ie / line-height: 22px9; / for ie /

  • 全部浏览器的兼容代码生成 CSS 实现 textArea 的 placeholder 换行

  • 阻止默认事件

    pointer-events:none;

  • 去掉输入框聚焦时候的白色背景

    -webkit-user-modify: read-write-plaintext-only;

  • input:focus时input不随软键盘升起而抬高的情况

    :focus{-webkit-tap-highlight-color:rgba(255, 255, 255, 0); -webkit-user-modify:read-write-plaintext-only;}

  • 变灰 gray

    html{

    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
    filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
    -webkit-filter: grayscale(1);
    

    }

  • firefox 阻止选中

    -moz-user-focus:ignore;-moz-user-input:disabled;-moz-user-select:none;

  • 箭头

    display:block;border:solid transparent;line-height: 0;width:0; height:0;border-top:solid #0288ce;border-width:8px 6px 0 6px;

    border-style:solid; border-width:7px; border-color:transparent transparent transparent #ff7020; position:absolute;top: 0;left: 0;border-width:20px;border-style:solid;border-color:#d1ddde transparent transparent #d1ddde;

ie6 bug测试,把border-style设为dashed.

  • 取消textarea右下角可拖动手柄

    resize:none

  • 取消chrome form表单的聚焦边框

    input,button,select,textarea{outline:none} textarea{resize:none}

  • 取消a链接的黄色边框

    a{-webkit-tap-highlight-color:rgba(0,0,0,0);}

  • 取消input,button焦点或点击时蓝色边框

    input{outline:none;}

  • webkit 水平居中

    display:-webkit-box;-webkit-box-pack:center; -webkit-box-align: center; position:absolute; top:50%;left:50%;transform:translate(-50%,-50%);

  • 取消chrome 搜索x提示

    input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {

    display: none;
    

    }

  • chrome取消默认黄色背景

    input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset;} input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {

    -webkit-box-shadow: 0 0 0 1000px white inset;
    

    } autocomplete="off"

  • 手机版本网页a标记虚线框问题

    a:focus {outline:none;-moz-outline:none;}

  • 焦点去除背景

    -webkit-tap-highlight-color:rgba(255, 255, 255, 0); -webkit-tap-highlight-color:transparent; // i.e. Nexus5/Chrome and Kindle Fire HD 7''

  • placeholder占位符颜色自定义

    input:-moz-placeholder {color: #369;} ::-webkit-input-placeholder {color:#369;}

  • IOS 禁用高亮

    -webkit-tap-highlight-color:rgba(255,0,0,0.5);-webkit-tap-highlight-color:transparent; / For some Androids /

  • IOS iframe 滚动 滚动回弹特效

    -webkit-overflow-scrolling:touch;overflow-y:scroll;

  • 禁止选中文本

    -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; user-select:none;

  • 模糊(毛玻璃)效果1

  • 模糊(毛玻璃)效果2
  • 模糊(毛玻璃)逼真效果

    .blur {

    -webkit-filter: blur(10px); /* Chrome, Opera */
       -moz-filter: blur(10px);
        -ms-filter: blur(10px);    
            filter: blur(10px);    
    

    }

  • 显示旋转加载图片,下拉加载数据

    #pullDown .pullDownIcon{display:inline-block;vertical-align:middle;width:40px;height:40px;background:url() 0 0 no-repeat;-webkit-background-size:40px 80px;background-size:40px 80px;-webkit-transition-property:-webkit-transform;-webkit-transition-duration:250ms} #pullDown .pullDownIcon{-webkit-transform:rotate(0deg) translateZ(0)} #pullDown .pullDownLabel{display:inline-block;vertical-align:middle;margin-left:5px;} #pullDown.flip .pullDownIcon{-webkit-transform:rotate(-180deg) translateZ(0)} #pullDown.loading .pullDownIcon{background-position:0 100%;-webkit-transform:rotate(0deg) translateZ(0);-webkit-transition-duration:0ms;-webkit-animation-name:loading;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear} @-webkit-keyframes loading{

    from{-webkit-transform:rotate(0deg) translateZ(0)}
    to{-webkit-transform:rotate(360deg) translateZ(0)}
    

    }

    正在载入中...
  • 手机多终端适配 media queryweb app iphone4 iphone5 iphone6 响应式布局 适配代码

    @media (device-height:480px) and (-webkit-min-device-pixel-ratio:2){/ 兼容iphone4/4s /

    .class{}
    

    } @media (device-height:568px) and (-webkit-min-device-pixel-ratio:2){/ 兼容iphone5 /

    .class{}
    

    } @media (device-height:667px) and (-webkit-min-device-pixel-ratio:2){/ 兼容iphone6 /

    .class{}
    

    } @media (device-height:736px) and (-webkit-min-device-pixel-ratio:2){/ 兼容iphone6 Plus /

    .class{}
    

    }

  • 屏蔽苹果浏览器对数字的识别Meta标签中的format-detection属性及含义

  • 移除HTML5 input在type="number"时的上下小箭头

    • 在chrome下:

      input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{

        -webkit-appearance: none !important;
        margin: 0; 
      

      }

    • Firefox下:

      input[type="number"]{-moz-appearance:textfield;}

    • 第二种方案:

      • 将type="number"改为type="tel",同样是数字键盘,但是没有箭头。
  • HTML5手机浏览直接给一个号码打电话,发短信

    移动WEB页面JS一键拨打号码咨询功能 移动WEB页面JS一键发送短信咨询功能

  • CSS判断横屏竖屏

    @media screen and (orientation: portrait) { /竖屏 css/ } @media screen and (orientation: landscape) { /横屏 css/ }

    //判断手机横竖屏状态: window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() {

        if (window.orientation === 180 || window.orientation === 0) { 
            alert('竖屏状态!');
        } 
        if (window.orientation === 90 || window.orientation === -90 ){ 
            alert('横屏状态!');
        }  
    }, false); 
    

    //移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态。

  • rem 适配,内容太多,只贴网址

    • rem自适应方案
    • html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式
    • 移动端高清、多屏适配方案
    • 通过rem布局+media-query:aspect-ratio实现移动端全机型适配覆盖
    • web app变革之rem
    • 手机淘宝的flexible设计与实现
    • 移动端自适应方案
    • 【原创】移动端高清、多屏适配方案
    • 6个html5页面适配iphone6的技巧
    • 关于移动端 rem 布局的一些总结
    • 从网易与淘宝的font-size思考前端设计稿与工作流
    • 移动端自适应方案
    • MobileWeb 适配总结
    • 移动端web app自适应布局探索与总结
    • 公式

      var PAGE_MAX_WIDTH = 1280,
          BASE_FONT_SIZE = 50;
      (function() {
          function n() {
              e.fontSize = Math.min(window.innerWidth / PAGE_MAX_WIDTH * BASE_FONT_SIZE, BASE_FONT_SIZE) + "px"
          }
          var e = document.documentElement.style;
          window.addEventListener("load", n),
          window.addEventListener("resize", n),
          n();
      }());
      

@font-face

@font-face {
    font-family: Blackout;
    src: url("assests/blackout.ttf") format("truetype");
}

@font-face 能够加载服务器端的字体文件,让客户端显示客户端所没有安装的字体。【微软的IE 5已经是开始支持这个属性,但是只支持微软自有的.eot (Embedded Open Type) 格式,而其他浏览器直到现在都没有支持这一字体格式。然而,从Safari 3.1开始,网页重构工程师已经可以设置.ttf(TrueType)和.otf(OpenType)两种字体做为自定义字体了。】比方用谷歌的Webfonts或Typekit

margin: 0 auto;

#container {
    margin: 0 auto;
}

 

margin: 0 auto; 这是你在布局时最常用的也是经常第一个用到的CSS代码片段. 添加 margin: 0 auto; 就可以在父类元素居中并且转换成块元素,如果发现没有居中,那可能忘记定义DIV的宽度了

overflow: hidden

.container {
    overflow: hidden;
}

 

通常你要解决浮动的问题会想到clear:both,但是overflow: hidden不仅仅局限于隐藏溢出,他还可以清除浮动

.clearfix

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

 

对于那些浮动溢出:隐藏;不起作用的情况下,最好的办法是clearfix技术。记住,你不必定义clearfix类的名称,您可以针对此代码到您的任何HTML元素

color: rgba();

.btn {
    color: rgba(0,0,0,0.5);
}

 

PNG图像用于创建任何一种透明的效果,但现在可以到另一个实现CSS透明度的方法使用RGBA颜色模式创建的。在十六进制值的地方使用RGBA让你选择一种颜色,使用它的红色,绿色和蓝色通道,以及α水平,如0.5,设置透明度为50%。

input[type="text"]

input[type="text"] {
    width: 200px;
}

 

input[type="text"]这是一个很常用的CSS技巧,他不需要额外定义类名称,选择在特定的属性是非常有用的造型元素,就可以应用到任何的input元素

transform: rotate(30deg);

.title {
    transform: rotate(30deg);
}

 

在CSS3中,用Transform功能可以实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形,这四种变形分别使用rotate、scale、skew和translate这四种方法来实现 目前浏览器支持情况:Safari 3.1+、 Chrome 8+、Firefox 4+、Opera 10+、IE9+

a {outline: none;}

a {outline: none;}

  

当聚焦a标签的时候,在a标签的区域周围会有一个虚线的框,这个框不同于border的是,它是不占有任何宽度的。当你取消焦点的时候,这个虚线框就会自然消失。你可以通过遨游、火狐或者ie的几个版本看到。而safari、opera、goole浏览器等本身就不支持这个效果,所以看不到。下面是outline的样子示例,也是我正在做的一个页面上截取出来的。定义outline: none;就可以实现取消这个线条

文章收集了

本文由9159.com发布于前端,转载请注明出处:这里是我收集到的很有用的10条CSS规则,CSS是网页

关键词:

上一篇:没有了
下一篇:没有了