1.空间转换导航栏-pc
遇到的问题:
li设置高100%导致a定位li把所有a定到一起。
空间观察角度推荐:x-20deg,y30deg。
图片空间旋转以后,这个图片坐标轴也会随之旋转。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>国企就业安置</title>
<style>
.nav{
width: 600px;
height: 50px;
margin: 300px auto;
}
ul{
list-style: none;
margin: 0;
padding: 0;
}
ul li{
position: relative;
float: left;
width: 200px;
height: 50px;
line-height: 50px;
/* background-color: #f00; */
transition: all .6s;
transform-style: preserve-3d;
/* transform: rotateX(-20deg) rotateY(30deg); */
}
a{
position: absolute;
left: 0;
top: 0;
text-align: center;
text-decoration: none;
width: 100%;
height: 100%;
}
a:first-child{
background-color: #f00;
/* transform: translateZ(25px); */
transform: translateZ(25px);
}
a:last-child{
background-color: #0f0;
transform: rotateX(90deg) translateZ(25px) ;
}
li:hover{
transform: rotateX(-90deg);
}
</style>
</head>
<body>
<div class="nav">
<ul>
<li>
<a href="#">国家电网</a>
<a href="#">State Grid</a>
</li>
<li>
<a href="#">中国烟草</a>
<a href="#">Chinese tobacco</a>
</li>
<li>
<a href="#">中国铁路</a>
<a href="#">China Railway</a>
</li>
</ul>
</div>
</body>
</html>
成品(加旋转便于观察):
2.小兔仙确认订单-sj
遇到的问题,文字不能较好使用行高定位,而是用边距定位,导致位置不够精确。有大佬的话求一下解决办法。
2.1html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>填写订单</title>
<link rel="stylesheet" href="./css/base.css">
<link rel="stylesheet" href="./css/orders.css">
<link rel="stylesheet" href="./lib/iconfont/iconfont.css">
</head>
<body>
<div class="xinxi wrapper">
<div class="location">
<i class="iconfont icon-location"></i>
</div>
<div class="infor">
<div class="user">
<div class="name">李瑞</div>
<div class="tel">15034452161</div>
</div>
<div class="address">北京市 海淀区 中关村软件园 信息科技大厦1号楼410# </div>
</div>
<a href="#" class="iconfont icon-more"></a>
</div>
<div class="goods wrapper">
<div class="pic">
<img src="./uploads/pic.png" alt="">
</div>
<div class="infor">
<h5>康尔贝 非接触式红外体温仪<br>
领券立减30元 婴儿级材质 测温…</h5>
<p>粉色<span>红外体温计</span></p>
<i><span>¥</span>266<b><span>¥</span>299</b></i>
</div>
<div class="count">
<i class="iconfont icon-x"><span>1</span></i>
</div>
</div>
<div class="other wrapper">
<div class="express">
<h5>配送方式</h5>
<p>顺丰快递</p>
</div>
<div class="more">
<h5>买家备注</h5>
<p>希望可以尽快发货,谢谢~</p>
</div>
<div class="pay">
<h5>支付方式</h5>
<p>支付宝<i class="iconfont icon-more"></i></p>
</div>
</div>
<div class="quantity wrapper">
<div class="sum">
<h5>商品总价</h5>
<p>¥<i>299.00</i></p>
</div>
<div class="freight">
<h5>运费</h5>
<p>¥<i>0.00</i></p>
</div>
<div class="discount">
<h5>折扣</h5>
<p>-¥<i>30.00</i></p>
</div>
</div>
<div class="pay-order flex">
<div class="sum flex">
<div class="heji">合计:</div>
<div class="amount">
<p>¥<i>266.<span>00</span></i></p>
</div>
</div>
<div class="pay flex">
<a href="#">去支付</a>
</div>
</div>
</body>
</html>
2.2base.css
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font: 16px/1.5 sans-serif;
color: #333;
background-color: #fff;
}
li {
list-style: none;
}
em,
i {
font-style: normal;
}
a {
text-decoration: none;
color: #333;
}
a:hover {
color: #5eb69c;
}
img {
width: 100%;
vertical-align: middle;
}
input {
padding: 0;
border: none;
outline: none;
color: #333;
}
button {
cursor: pointer;
}
/* 清除浮动 */
.clearfix:before,
.clearfix:after {
content: '';
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
2.3order.css
body{
background-color: #f7f7f7;
}
.wrapper{
background-color: #ffffff;
border-radius: 5px;
margin: 0 11px 0;
}
.xinxi{
display: flex;
align-items: center;
margin-top: 12px;
height: 85px;
/* background-color: pink; */
}
.xinxi .location{
margin-left: 10px;
margin-right: 11px;
width: 30px;
height: 30px;
color: #fff;
border-radius: 50%;
background-image: linear-gradient(90deg,
#6fc2aa 5%,
#54b196 100%);
text-align: center;
line-height: 30px;
}
.xinxi .infor{
line-height: 28px;
flex: 1;
}
.xinxi .infor .user{
display: flex;
}
.xinxi .infor .user .name{
width: 52px;
font-size: 15px;
color: #262626;
}
.xinxi .infor .user .tel{
font-size: 13px;
color: #333;
}
.xinxi .infor .address{
line-height: 18px;
font-size: 12px;
color: #333;
}
.xinxi a{
display: block;
width: 44px;
height: 44px;
text-align: center;
line-height: 44px;
}
/*goods*/
.goods{
display: flex;
margin-top: 9px;
height: 107px;
}
.goods .pic{
margin: 11px;
width: 85px;
height: 85px;
}
.goods .infor{
flex: 1;
}
.goods .infor h5{
margin-top: 18px;
margin-bottom: 5px;
font-size: 13px;
line-height: 19px;
color: #262626;
font-weight: normal;
}
.goods .infor p{
font-size: 11px;
color: #888888;
}
.goods .infor p span{
margin-left: 11px;
}
.goods .infor i{
line-height: 21px;
font-size: 16px;
color: #cf4444;
}
.goods .infor i span{
font-size: 9px;
}
.goods .infor i b span{
font-size: 9px;
}
.goods .infor i b{
margin-left: 11px;
font-size: 12px;
color: #999;
}
.goods .count{
margin-top: 18px;
width: 44px;
height: 44px;
}
.goods .count i{
width: 7px;
height: 7px;
color: #333;
}
.goods .count span{
font-size: 15px;
line-height: 21px;
color: #262626;
}
/* other */
.other{
margin-top: 6px;
padding: 14px;
height: 125px;
font-size: 13px;
color: #262626;
}
.other div{
display: flex;
}
.other h5,
.quantity h5{
font-weight: 400;
}
.other div:nth-child(2n+1){
justify-content: space-between;
}
.other .express,
.other .more{
margin-bottom: 20px;
}
.other .more p{
margin-left: 19px;
font-size: 12px;
color: #989898;
}
.other .pay{
display: flex;
justify-content: space-between;
}
.other .pay p{
line-height: 21px;
}
.other .pay p i{
padding-left:9px ;
font-size: 12px;
}
/* quantity */
.quantity{
margin-top: 10px;
height: 125px;
padding: 13px;
font-size: 13px;
color: #262626;
}
.quantity div{
display: flex;
justify-content: space-between;
}
.quantity .sum,
.quantity .freight{
margin-bottom: 20px;
}
.quantity .discount p{
color: #cf4444;
}
/* pay-order */
.pay-order{
position: fixed;
left: 0;
bottom: 0;
justify-content: space-between;
width: 100%;
height: 79px;
background-color: #ffffff;
}
.flex{
display: flex;
}
.pay-order .sum .heji{
margin-top: 28px;
margin-left: 20px;
font-size: 11px;
color: #1e1e1e;
}
.pay-order .sum .amount p{
margin-top: 20px;
margin-left: 12px;
color: #cf4444;
font-size: 11px;
}
.pay-order .sum .amount p i{
font-size: 20px;
}
.pay-order .sum .amount p i span{
font-size: 18px;
}
.pay-order .pay a{
display: block;
margin-top: 11px;
margin-right: 11px;
width: 91px;
height: 35px;
background-image: linear-gradient(90deg,
#6fc2aa 5%,
#54b196 100%);
border-radius: 3px;
text-align: center;
line-height: 35px;
font-size: 13px;
color: #fff;
}
2.4成品
3.游乐园-sj
html设计稿选择到标准像素375
head 引入网页标题图标 favicon.ico
引入css样式表
引入iconfont
body最后引入js
遇到的问题:
1.底部功能栏忘记fixed导致最后一个item和fotter有很大间距
2.a字体图标使用width改的大小,导致280像素下字体乱排,改用fontsize修复。
3.1html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>游乐园</title>
<link rel="stylesheet" href="../youleyuan-sj/css/index.css">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="./lib/iconfont/iconfont.css">
</head>
<body>
<!-- 主体页面 -->
<div class="main">
<!-- 轮播图 -->
<div class="banner">
<ul>
<li><a href="#"><img src="./uploads/banner_1.png" alt=""></a></li>
</ul>
</div>
<!-- 活动标题 -->
<div class="title">
<h4>乐园活动</h4>
</div>
<!-- 活动内容 -->
<div class="item">
<div class="pic">
<a href="#"><img src="./uploads/item_3.png" alt=""></a>
<i class="iconfont icon-shoucang1"></i>
<div class="underway"></div>
</div>
<div class="txt">
<div class="top">
<h5>摄影兴趣班- 7天教会你精通摄影,培养孩子兴趣从娃娃抓起</h5>
<p>免费</p>
</div>
<div class="buttom">
<p>
<i class="iconfont icon-qizhi"></i><span>200人已报名</span>
</p>
<p>
<i class="iconfont icon-shizhong"></i><span>本周六开始</span>
</p>
</div>
</div>
</div>
<!-- 222222222 -->
<div class="item">
<div class="pic">
<a href="#"><img src="./uploads/item_1.png" alt=""></a>
<i class="iconfont icon-shoucang"></i>
<div class="close"></div>
</div>
<div class="txt">
<div class="top">
<h5>摄影兴趣班- 7天教会你精通摄影,培养孩子兴趣从娃娃抓起</h5>
<p>免费</p>
</div>
<div class="buttom">
<p>
<i class="iconfont icon-qizhi"></i><span>999人已报名</span>
</p>
<p>
<i class="iconfont icon-shizhong"></i><span>本周五开始</span>
</p>
</div>
</div>
</div>
<!-- 333333333 -->
<div class="item overbgc">
<div class="pic">
<a href="#"><img src="./uploads/item_2.png" alt=""></a>
<i class="iconfont icon-shoucang1"></i>
<div class="over"></div>
</div>
<div class="txt">
<div class="top">
<h5>摄影兴趣班- 7天教会你精通摄影,培养孩子兴趣从娃娃抓起</h5>
<p>免费</p>
</div>
<div class="buttom">
<p>
<i class="iconfont icon-qizhi"></i><span>666人已报名</span>
</p>
<p>
<i class="iconfont icon-shizhong"></i><span>本周四开始</span>
</p>
</div>
</div>
</div>
</div>
<!-- 主体页面 -->
<!-- 底部功能栏 -->
<div class="fotter">
<a href="#" class="home">
<i class="iconfont icon-index-copy"></i>
<p>首页</p>
</a>
<a href="#" class="card">
<i class="iconfont icon-youhuiquan"></i>
<p>卡券</p>
</a>
<a href="#" class="my">
<i class="iconfont icon-iconfront-"></i>
<p>我的</p>
</a>
</div>
<!-- 底部功能栏 -->
<script src="./js/flexible.js"></script>
</body>
</html>
3.2less
3.2.1index.less
@import './base';
@import './normalize';
@rootSize: 37.5rem;
body{
background-color: #f0f0f0;
}
// 各项活动状态图标
.underway::after,
.close::after,
.over::after{
position: absolute;
left: (15 / @rootSize);
top: (-4 / @rootSize);
width: (68 / @rootSize);
height: (29 / @rootSize);
background-size: contain;
font-size: (12 / @rootSize);
color: #fff;
text-align: center;
line-height: (25 / @rootSize);
}
.underway::after{
content: "进行中";
background-image: url(../images/status_active.png);
}
.close::after{
content: "已截止";
background-image: url(../images/status_default.png);
}
.over::after{
content: "已结束";
background-image: url(../images/status_default.png);
}
// .over::after{
// position: absolute;
// left: (15 / @rootSize);
// top: (-4 / @rootSize);
// content: "已结束";
// width: (68 / @rootSize);
// height: (29 / @rootSize);
// background-image: url(../images/status_default.png);
// background-size: contain;
// font-size: (12 / @rootSize);
// color: #fff;
// text-align: center;
// line-height: (25 / @rootSize);
// }
//主体页面
.main{
margin-bottom: (60 / @rootSize);
.banner{
height: (160 / @rootSize);
}
.title {
height: (40 / @rootSize);
line-height: (40 / @rootSize);
padding-left: (15 / @rootSize);
h4 {
font-size: (14 / @rootSize);
color: #3C3C3C;
}
}
.item {
margin-bottom: (10 / @rootSize);
.pic{
position: relative;
a{
height: (160 / @rootSize);
}
i{
position: absolute;
top: (15 / @rootSize);
right: (18 / @rootSize);
font-size: (24 / @rootSize);
color: #fff;
}
}
.txt{
padding: (9 / @rootSize) (15 / @rootSize);
background-color: #fff;
.top{
display: flex;
h5{
font-size: (15 / @rootSize);
color: #3C3C3C;
}
p{
display: inline-block;
width: (60 / @rootSize);
font-size: (16 / @rootSize);
color: #FE6249;
text-align: end;
}
}
.buttom{
display: flex;
p{
margin-top: (7 / @rootSize);
margin-right: (15 / @rootSize);
span{
margin-left: (7 / @rootSize);
font-size: (11 / @rootSize);
color: #B4B4B4;
}
}
}
}
}
}
//底部功能栏
.fotter{
position: fixed;
left: 0;
bottom: 0;
display: flex;
justify-content: space-around;
width: 100%;
height: (49 / @rootSize);
background-color: #FECA49;
text-align: center;
a{
color: #D78B09;
font-size: (25 / @rootSize);
p{
font-size: (11 / @rootSize);
}
}
a:active{
color: #fefefe;
}
}
3.2.2base.less
// out:false
@charset 'UTF-8';
// *{
// // -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
// }
body, ul, p, h3, h4, h5, h6 {
padding: 0;
margin: 0;
}
body {
font-family: Arial, Helvetica, sans-serif;
-webkit-text-size-adjust: none;
text-size-adjust: none;
-webkit-user-select: none;
user-select: none;
}
img {
display: block;
max-width: 100%;
}
ul {
list-style-type: none;
}
a {
text-decoration: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
3.2.3normalize.less
// out:false
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
* 1. Change the default font family in all browsers (opinionated).
* 2. Correct the line height in all browsers.
* 3. Prevent adjustments of font size after orientation changes in
* IE on Windows Phone and in iOS.
*/
/* Document
========================================================================== */
@charset 'UTF-8';
html {
font-family: sans-serif; /* 1 */
line-height: 1.15; /* 2 */
-ms-text-size-adjust: 100%; /* 3 */
-webkit-text-size-adjust: 100%; /* 3 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main { /* 1 */
display: block;
}
/**
* Add the correct margin in IE 8.
*/
figure {
margin: 1em 40px;
}
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
/**
* Remove the outline on focused links when they are also active or hovered
* in all browsers (opinionated).
*/
a:active,
a:hover {
outline-width: 0;
}
/**
* 1. Remove the bottom border in Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Add the correct background and color in IE 9-.
*/
mark {
background-color: #ff0;
color: #000;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Change the border, margin, and padding in all browsers (opinionated).
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details, /* 1 */
menu {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
display: inline-block;
}
/**
* Add the correct display in IE.
*/
template {
display: none;
}
/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
display: none;
}
3.3成品