CSS凹型导航按钮

一般需求,圆角看起来更加舒服,但是下面直角略显生硬

于是设计师有了下面的需求,下面加上小凹型:

凹型?凹型?凹型?有点变态,这怎么实现...........

图片肯定是最先考虑到的,CSS实现有貌似有一定难度.......

别怕,咋们遇难而上,go go...

先上html结构,这个很简单,没什么可以说明的:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <title>css凹型导航</title>

</head>
<body>
<nav id="nav">
    <ul>
        <li>
            <div class="left"></div>
            <div class="con">导航1</div>
            <div class="right"></div>
        </li>
        <li>
            <div class="left"></div>
            <div class="con">导航2</div>
            <div class="right"></div>
        </li>
        <li>
            <div class="left"></div>
            <div class="con">导航3</div>
            <div class="right"></div>
        </li>
        <li>
            <div class="left"></div>
            <div class="con">导航4</div>
            <div class="right"></div>
        </li>
    </ul>
</nav>
</body>
</html>

  再看CSS

#nav {
            background: #fff;
            border-bottom: 1px solid #7bd1ff;
            width: 960px;
            margin: 100px auto;
            height: 60px;;
        }

        #nav ul li {
            float: left;
            list-style: none;
            height: 60px;
            margin: 0 10px;
        }

        li * {
            float: left;
            transition: all .2s;
        }

        .con {
            width: 60px;
            height: 60px;
            line-height: 60px;
            text-align: center;
            background: #7bd1ff;
            border-radius: 10px 10px 0 0;
        }
     /*
      设置凹型的尺寸,
      通过margin定位
     */
.left, .right {
 width: 7px; height: 7px; margin: 53px 0 0 0;
}
      /*
      下面的是关键,主要是用到了径向渐变 radial-gradient,
      通过比例划分实现直接透明过度到背景色,没有渐变
      测试结果显示 transparent 50% 并不能一半透明一半有颜色,70%+比较何时
     */
.left { background: -webkit-radial-gradient(top left, circle, transparent 70%, #7bd1ff 30%); }
 .right { background: -webkit-radial-gradient(top right, circle, transparent 70%, #7bd1ff 30%); }

 li:hover .con { background: #2d85ff }
 li:hover .left { background: -webkit-radial-gradient(top left, circle, transparent 70%, #2d85ff 30%); }
 li:hover .right { background: -webkit-radial-gradient(top right, circle, transparent 70%, #2d85ff 30%); }

  

  so,这样,是不是也没有什么难度,轻松搞定。

时间: 2024-08-07 12:30:14

CSS凹型导航按钮的相关文章

CSS实现导航条Tab切换的三种方法

前面的话 ??导航条Tab在页面中非常常见,本文说详细介绍CSS实现导航条Tab的三种方法 布局 ??根据上图所示,先规定几个定义,上图的模块整体叫做导航,由导航标题和导航内容组成.要实现上图所示的布局效果,有两种布局方法:语义布局和视觉布局 [语义布局] ??从语义布局的角度来看,每一个导航标题和其对应的导航内容应该是一个整体 <style> body,p{margin: 0;} h2{margin: 0;font-size:100%;} ul{margin: 0;padding: 0;li

css横向导航条

css横向导航条有两种方法 1. ul li a li{float:left} #navlist li, #navlist a{height:44px;display:block;} a{width:60px;background:red} 2.ul{font-size:0px;}或者ul{word-spacing:-5px;} li{font-size:14px;display:inline;width:60px;background:red} display:inline; -默认情况下,<

02---按钮的设置 控制器拥有导航栏包装一层导航控制器 添加子控制器 UIBarButtonItem导航按钮 设置导航栏UINavigationBar主题 设置状态栏样式

一.按钮的设置 1.设置背景图片 [btn setBackgroundImage:image forState:UIControlStateNormal]; 2.内部UIImageView 1> 设置内部UIImageView的图片 [btn setImage:image forState:UIControlStateNormal]; // 不能写成btn.imageView.image = image; 2> 调整内部图片的内容模式 self.imageView.contentMode =

[HTML/CSS]uploadify自定义按钮样式

概述 在项目中经常用到uploadify上传插件,但是FLASH按钮的外观往往跟我们网页的设计的主题色不太搭配.这时就需要对其样式进行修改. 样式文件是uploadify.css. 打开这个文件后,你会看见CSS设置的按钮样式. 1 .uploadify-button { 2 background-color: #505050; 3 background-image: linear-gradient(bottom, #505050 0%, #707070 100%); 4 background-

顶 企业站常用css横向导航菜单

<!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml</a>" lang="zh-CN"><head><m

代码:CSS仿制 苹果按钮图标

首先,先复习一下:CSS的线性渐变.径向渐变 .linear{ background-image:-webkit-linear-gradient(90deg,#f8f8f8 20%,#dae9fa 90% ,#a6caf0 100%); background-image:-moz-linear-gradient(90deg,#f8f8f8 20%,#dae9fa 90% ,#a6caf0 100%); background-image:-o-linear-gradient(90deg,#f8f8

谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案

开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧. 不断更新,不断更新,不断更新,重要的事情说三遍. 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少 谈谈一些有趣

Web前端开发实战6:CSS实现导航菜单结合二级下拉式菜单的简单变换

前面几篇博文都在讲导航菜单和二级下拉式菜单,其实有很多方法都可以实现的,具体的情况还要视情况而定. 在后面学习到jQuery框架之后,会有更丰富的动画效果,由于在学习Ajax和jQuery的初步阶段,对于很多的复杂的导 航菜单和二级下拉式菜单没法做,但是学习了CSS和JS还是能实现一些简单的变换的.这篇博文就来说说用CSS实现 导航菜单结合二级下拉式菜单的两个简单变换吧. 首先还是在前面博文的基础上加以实现,其实只用HTML和CSS还是可以做出不错的效果,但是相较于JS和 jQuery来说就有很

纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)

原文:纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器) 虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul li 来开始我们菜单也可以说导航条的制作: 在页面中我们首先构建以下XHTML结构: <body> <ul id="navWrapper"> <li> <a href="#">Menu A</a> <ul