最近看了张鑫旭老师关于Google搜索按钮的博客,感觉启示颇多。下面我就详说一下这个按钮的代码,由于W3C新版本的更新,之前的代码会有部分累赘,

在此,我做了些修改。当然,想观摩原版的可以,狠狠的戳链接啦!http://www.zhangxinxu.com/wordpress/?p=292

  好了,那现在,我们先看一下这个按钮的代码

      CSS代码:

            

      以下是HTML代码:

          

      以下是显示结果:

          

      下面,我们来解析一下代码

      首先,我们最外层的p标签,只是为了演示 本按钮 可以进行图文混编,这个不是必要的,大家要清楚

      其次,内层的超链接 .g_a ,将其定义为内联块级元素,这样是赋予行级标签a宽高等属性。然后,设置他的边框及圆

    角,附上背景色,并消除超链接的默认样式。接着,让其超出部分隐藏,因为内部的的span标签都设置为块级属性了,所

    以隐藏掉超出部分。这里vertical-align: middle;的作用是演示图文混编,让其与文字居中显示的,非必须代码。

      最后,对于第一个span标签.g_b ,他的作用就是产生高亮效果,大家可以给他加一个背景色,看看他的所属位置,

    也可以,放大按钮观察,竖直方向按钮的颜色变化是.g_b的背景色,.g_b的边框,然后是a标签的背景色

      而,第二个span标签.g_c ,他是为按钮添加文字的,而且padding: 0.1em 0.6em; margin-top: -0.6em;的目的

    是使文字近乎于居中显示,此时.g_c的大小使几乎充满整个a标签的,通过.g_c的行高和宽度撑起整个a标签的空间,而且

    所有span标签均使用 em (他是相对大小单位,默认为浏览器的字体大小)的倍数,可以实现按钮宽高的自适用。

    cursor: pointer;仅仅是让鼠标显示小手形状,不加也行,超链接默认就是此图形。

    此按钮的优点:

      1.可以与文字混排,对vertical-align属性敏感

      2.宽度自适应于内部文字的个数,高度自适应于内部文字的大小

      3.支持用css实现鼠标经过样式改变

      4.页面性能提成,开发维护成本降低

    好啦,以上就是我修改之后的按钮代码,我自认道行还浅,若有什么错误,还请指出,我们共同交流

      

关于Google 圆角 高光 高宽 自适应 按钮的更多相关文章

  1. 关于Google圆角高光高宽自适应按钮及其拓展

    关于Google圆角高光高宽自适应按钮及其拓展————源自张鑫旭css讲解 这篇文章发布于 2009年10月24日,星期六,18:08,归类于 css相关. 阅读 48770 次, 今日 1 次 by ...

  2. jQuery实现布局高宽自适应

    在页面布局(layout)时经常是上左右的框架布局并且需要宽.高度的自适应,div+css是无法实现(*hegz:div+css其实是可以实现的,利用jQuery比较容易实现浏览器的兼容性),所以需要 ...

  3. LayIM聊天框全屏根据浏览器高宽自适应

    个人博客 地址:http://www.wenhaofan.com/article/20190410190628 问题 由于LayIM没有处理聊天框在全屏状态下根据浏览器缩放处理高宽,所以会导致在浏览器 ...

  4. 纯CSS写九宫格样式,高宽自适应正方形

    <!DOCTYPE html><html>    <head>        <meta charset="utf-8">      ...

  5. CSS实现圆角六色渐变自适应按钮

    Css代码 .g_a{display:-moz-inline-stack; display:inline-block; border-bottom:1px solid #cccccc; border- ...

  6. UILabel实现自适应高宽

    UILabel是iOS开发常用的控件.UILabel的属性需要了解,UILabel的特殊显示效果也需要我们掌握.UILabel自适应高宽度是很多初学者遇到的技术性难题.比如段文字,要让他完全地分行显示 ...

  7. iOS开发 UILabel实现自适应高宽

    UILabel是iOS开发常用的控件.UILabel的属性需要了解,UILabel的特殊显示效果也需要我们掌握.UILabel自适应高宽度是很多初学者遇到的技术性难题.比如段文字,要让他完全地分行显示 ...

  8. JS获取IMG图片高宽

    前段时间在LJW写的touchslider.js轮播代码里添加自适应屏幕大小的功能时,遇到一个问题.不管用什么样的方法都无法获取到IMG标签的高宽,最后只有给图片定一个高宽的比例值:趁今天有空我就写了 ...

  9. javascript获取网页各种高宽及位置总结

    screen对象 获取屏幕的高宽(分辨率) screen.width //屏幕的宽 screen.height //屏幕的高 screen.availWidth //屏幕可用宽度 屏幕的像素高度减去系 ...

随机推荐

  1. mahout系列之---谱聚类

    1.构造亲和矩阵W 2.构造度矩阵D 3.拉普拉斯矩阵L 4.计算L矩阵的第二小特征值(谱)对应的特征向量Fiedler 向量 5.以Fiedler向量作为kmean聚类的初始中心,用kmeans聚类 ...

  2. Centos下安装mysql 和挂载硬盘

    一,CentOS下安装Mysql 6.5 1.检测系统是否自带安装mysql # yum list installed | grep mysql 2.删除已经安装的Mysql # yum -y rem ...

  3. Java不走弯路教程(5.Client-Server模式(2)-Client)

    5.Client-Server模式(2)-Client 在上一章,我们完成一个简单的数据库服务器,并在客户端用telnet方式成功进行通信. 本章将用Java实现客户端程序,来代替telnet. 先看 ...

  4. 听晴明老师从头讲React Native 百度云下载 百度网盘

    适用人群 能使用至少一门主流编程语言:有基本的面向对象的概念:最好有一些web相关的知识和概念. 课程概述 新颖.实用.详尽的ReactNative零基础课程,由国内权威的ReactNative中文网 ...

  5. Java不走弯路教程(6.JDBC)

    6.JDBC 在上一章,我们完成了MyDb数据库的简单的客户段调用.作为产品我们还封装了驱动程序,并且提供了统一的调用接口. 大家应该知道,市面上有多种数据库产品,比如Oracle,Mysql,DB2 ...

  6. wamp 服务监控和启动

    近日我的 wamp 莫名其妙的崩溃重启,apache 能自动起来, mysql 却悲剧了. 于是有了下面的wamp服务监控和启动的批处理文件 @echo off rem define loop tim ...

  7. 伸展树--java

    文字转载自:http://www.cnblogs.com/vamei 代码转载自:http://www.blogjava.net/javacap/archive/2007/12/19/168627.h ...

  8. JFace dailog button事件中刷新透视图异常 Trying to execute the disabled command org.eclipse.ui.window.closePerspective

    报错的代码为 protected void buttonPressed(int buttonId) { Display.getDefault().syncExec(new Runnable() { p ...

  9. SpringBoot入门之简单配置

    今天下载了<JavaEE开发的颠覆者SpringBoot实战>这本书,发现Spring还有好多遗漏的部分,算是又恶补了一下,今天主要是学习下SpringBoot的配置. 一.基本配置 1. ...

  10. JavaScript怎么把对象里的数据整合进另外一个数组里

    https://blog.csdn.net/qq_26222859/article/details/70331833 var json1 = [ {"guoshui":[ 3000 ...