css - 将元素旋转到位
问题描述
我正在创建一个动画侧边栏,我正在尝试将一个元素(跨度,红色箭头)旋转到位,但没有成功。除了向左移动一定量之外,元素也会向上移动。
如何将箭头旋转到位,使其保持在同一位置并且不会向左和向上?
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300,600);
@font-face { font-family: "ionicons"; src: url("https://code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1"); src: url("https://code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"), url("https://code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.ttf?v=2.0.1") format("truetype"), url("https://code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.woff?v=2.0.1") format("woff"), url("https://code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg"); font-weight: normal; font-style: normal; }
.sidebar {
width: 230px;
height: 100%;
position: fixed;
padding: 1rem 1.5rem;
background-color: #F9FAFC;
font-family: 'Source Sans Pro';
font-size: 14px;
box-sizing: border-box;
}
ul {
list-style: none;
}
ul, li {
padding: 0;
margin: 0;
}
li {
padding: 0.5rem 0;
}
.submenu {
max-height: 0;
overflow-y: hidden;
margin: 0 -1.5rem;
background-color: #F4F4F5;
}
.submenu li:first-child {
padding: 0.1rem 0 0 1.5rem;
}
.submenu li:last-child {
padding: 0 0 0.1rem 1.5rem;
}
.submenu li {
padding: 0.5rem 1.5rem;
}
.menu li:hover > .submenu {
max-height: 200px;
padding: 0.5rem 0;
transition: max-height 0.7s linear;
}
.menu > li:hover {
background-color: #F4F4F5;
margin: 0 -1.5rem;
padding: 0.5rem 1.5rem;
}
.menu > li {
position: relative;
color: #444444;
font-weight: bold;
}
.menu > li > a {
display: block;
color: #444444;
text-decoration: none;
font-weight: bold;
}
.menu > li > a:hover {
color: black;
}
.submenu > li > a {
display: block;
color: #626262;
text-decoration: none;
}
.submenu > li > a:hover {
color: black;
}
.submenu > li {
font-weight: normal !important;
}
.arrow {
display: inline-block;
width: 10px;
transition: all 0.5s ease-in-out;
transform-origin: center center;
}
.arrow:after {
content: '\f125';
font-family: 'ionicons';
color: red;
right: 0.75em;
position: absolute;
width: 10px;
font-size: 0.5em;
top: 45%;
}
.menu > li:hover .arrow {
transform: rotate(90deg);
}
<div class="sidebar">
<nav>
<ul class="menu">
<li>
<a href="/dashboard/">Dashboard</a>
</li>
<li>
Transactions<span class="arrow"></span>
<ul class="submenu">
<li><a href="/transactions/create/">New Transaction</a></li>
<li>View Transactions</li>
<li>Dummy Transactions</li>
</ul>
</li>
<li>
Budgets
</li>
</ul>
</nav>
</div>
解决方案
推荐阅读
- php - 谷歌日历 API fetchAccessTokenWithAuthCode 不起作用
- r - 尝试将 xlsx 文件导入 R 时显示错误
- visual-studio-code - 配置 prettier 以在新行上推送花括号并且不清除空行
- java - Heroku - spring+angular 应用代码部署=H10 desc="App crashed"
- printing - Scheme 以深度优先的方式遍历并打印一个 DAG
- pycharm - 在 pycharm 中双击/单击按住和拖动行为很奇怪
- sql - SQL如何设置XML中同一个节点的值和属性
- javascript - 如何使用 AJAX 向服务器发送数据?
- sql - 是否可以在 Firebird 的 select 子句中使用布尔表达式?
- python - 尝试用更大的字典更新字典