所以我有一个箭头间隔开的面包屑导航。棘手的是我需要它才能做出回应。我认为我使用vh和vw很接近,但我遇到的问题是白色垫片没有像之前的箭头那样响应。有什么建议?还是有更好的方法来处理它?我尝试了很多东西,但似乎都没有用。任何帮助是极大的赞赏。包括小提琴
https://jsfiddle.net/8v9ctam0/
/* ----------------------
General Styling
------------------------*/
* {
margin: 0;
padding: 0;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cd-breadcrumb, .cd-multi-steps {
padding: 0.5em 1em;
margin: 1em auto;
background-color: #edeff0;
border-radius: .25em;
}
.cd-breadcrumb:after, .cd-multi-steps:after {
content: "";
display: table;
clear: both;
}
.cd-breadcrumb li, .cd-multi-steps li {
display: inline-block;
float: left;
margin: 0.5em 0;
}
.cd-breadcrumb li::after, .cd-multi-steps li::after {
/* this is the separator between items */
display: inline-block;
content: '\00bb';
margin: 0 .6em;
color: #959fa5;
}
.cd-breadcrumb li:last-of-type::after, .cd-multi-steps li:last-of-type::after {
/* hide separator after the last item */
display: none;
}
.cd-breadcrumb li > *, .cd-multi-steps li > * {
/* single step */
display: inline-block;
font-size: 1.0vw;
color: #2c3f4c;
}
.cd-breadcrumb li.current > *, .cd-multi-steps li.current > * {
/* selected step */
color: #96c03d;
}
.no-touch .cd-breadcrumb a:hover, .no-touch .cd-multi-steps a:hover {
/* steps already visited */
color: #96c03d;
}
.cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {
/* replace the default arrow separator with a custom icon */
content: '';
height: 16px;
width: 16px;
background: url(../img/cd-custom-separator.svg) no-repeat center center;
vertical-align: middle;
}
.cd-breadcrumb.custom-icons li > *::before, .cd-multi-steps.custom-icons li > *::before {
/* add a custom icon before each item */
content: '';
display: inline-block;
height: 20px;
width: 20px;
margin-right: .4em;
margin-top: -2px;
background: url(../img/cd-custom-icons-01.svg) no-repeat 0 0;
vertical-align: middle;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(2) > *::before {
/* change custom icon using image sprites */
background-position: -20px 0;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(3) > *::before {
background-position: -40px 0;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(4) > *::before {
background-position: -60px 0;
}
.cd-breadcrumb.custom-icons li.current:first-of-type > *::before, .cd-multi-steps.custom-icons li.current:first-of-type > *::before {
/* change custom icon for the current item */
background-position: 0 -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(2) > *::before {
background-position: -20px -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(3) > *::before {
background-position: -40px -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(4) > *::before {
background-position: -60px -20px;
}
@media only screen and (min-width: 768px) {
.cd-breadcrumb, .cd-multi-steps {
padding: 0 1.2em;
}
.cd-breadcrumb li, .cd-multi-steps li {
margin: 1.2em 0;
}
.cd-breadcrumb li::after, .cd-multi-steps li::after {
margin: 0 1em;
}
}
/* --------------------------------
Triangle breadcrumb
-------------------------------- */
.cd-breadcrumb.triangle {
/* reset basic style */
background-color: transparent;
padding: 0;
}
.cd-breadcrumb.triangle li {
position: relative;
padding: 0;
margin: 4px 4px 4px 4px;
}
.checkout {
max-height: 5.0vh;
line-height: 2.5vh;
}
.cd-breadcrumb.triangle li strong {
display: block;
}
.cd-breadcrumb.triangle li:last-of-type {
margin-right: 0;
}
.cd-breadcrumb.triangle li > * {
position: relative;
padding: 1em .8em 1em 2.5em;
color: #2c3f4c;
background-color: #edeff0;
/* the border color is used to style its ::after pseudo-element */
border-color: #edeff0;
}
.cd-breadcrumb.triangle li.current > * {
/* selected step */
color: #ffffff;
background-color: #F00;
border-color: #F00;
}
.cd-breadcrumb.triangle li:first-of-type > * {
padding-left: 1.6em;
}
.cd-breadcrumb.triangle li:last-of-type > * {
padding-right: 1.6em;
}
.no-touch .cd-breadcrumb.triangle a:hover {
/* steps already visited */
color: #ffffff;
background-color: #2c3f4c;
border-color: #2c3f4c;
}
.cd-breadcrumb.triangle li::after, .cd-breadcrumb.triangle li > *::after {
/*
li > *::after is the colored triangle after each item
li::after is the white separator between two items
*/
content: '';
position: absolute;
top: 0;
left: 100%;
content: '';
height: 0;
width: 0;
/* 48px is the height of the <a> element */
border: 2.1em solid transparent;
border-right-width: 0;
border-left-width: 0.8em;
}
.cd-breadcrumb.triangle li::after {
/* this is the white separator between two items */
z-index: 1;
-webkit-transform: translateX(8px);
-moz-transform: translateX(8px);
-ms-transform: translateX(8px);
-o-transform: translateX(8px);
transform: translateX(8px);
border-left-color: #ffffff;
/* reset style */
margin: 0;
}
.cd-breadcrumb.triangle li > *::after {
/* this is the colored triangle after each element */
z-index: 2;
border-left-color: inherit;
}
.cd-breadcrumb.triangle li:last-of-type::after, .cd-breadcrumb.triangle li:last-of-type > *::after {
/* hide the triangle after the last step */
display: none;
}
.cd-breadcrumb.triangle.custom-separator li::after {
/* reset style */
background-image: none;
}
.cd-breadcrumb.triangle.custom-icons li::after, .cd-breadcrumb.triangle.custom-icons li > *::after {
/* 50px is the height of the <a> element */
border-top-width: 25px;
border-bottom-width: 25px;
}
@-moz-document url-prefix() {
.cd-breadcrumb.triangle li::after,
.cd-breadcrumb.triangle li > *::after {
/* fix a bug on Firefix - tooth edge on css triangle */
border-left-style: dashed;
}
}
&#13;
<body>
<section>
<nav>
<ol class="cd-breadcrumb triangle">
<li><a href="#0" class="checkout"><strong>Checkout</strong></a></li>
<li class="current"><a href="#0"><strong>Step 1:</strong>Account</a></li>
<li><a href="#0"><strong>Step 2:</strong>Shipping</a></li>
<li><a href="#0"><strong>Step 3:</strong>Payment & Place Order</a></li>
<li><a href="#0"><strong>Step 4:</strong>Confirmation</a></li>
</ol>
</nav>
</section>
</body>
&#13;
答案 0 :(得分:1)
这是一个非常简单的方法,但它使用转换,因此您的目标浏览器必须支持该属性(大多数最新的浏览器都支持)。
body {
padding-top: 95px;
}
.crumb-trail {
background-color: #CCD2D8;
color: #62717C;
list-style: none;
padding: 0px;
margin: auto;
width: 80%;
}
.crumb {
padding: 4px 16px;
position: relative;
}
.crumb:not(:last-child):before,
.crumb:not(:last-child):after {
content: '';
display: inline-block;
height: 1px;
width: 17px;
position: absolute;
right: -7px;
background-color: #fff;
}
.crumb:before {
top: 6px;
-moz-transform: rotate(60deg);
-ms-transform: rotate(60deg);
-o-transform: rotate(60deg);
-webkit-transform: rotate(60deg);
transform: rotate(60deg);
}
.crumb:after {
bottom: 6px;
-moz-transform: rotate(120deg);
-ms-transform: rotate(120deg);
-o-transform: rotate(120deg);
-webkit-transform: rotate(120deg);
transform: rotate(120deg);
}
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>BreadCrumbs</title>
<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.1/normalize.min.css">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="breadcrumbs.css">
</head>
<body>
<ul class="crumb-trail clearfix">
<li class="crumb pull-left">
Home
</li>
<li class="crumb pull-left">
Forums
</li>
<li class="crumb pull-left">
Search page
</li>
<li class="crumb pull-left">
Preview: Search criteria
</li>
</ul>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>
&#13;