将文本旋转 90°,结果 div 的位置在 parent 内
Rotate text 90° with the resulting div having position within parent
当我旋转文本(或者更确切地说 div 包含文本)时,这会导致 div escaping 是parent。
不仅如此, div 的高度也是它的原始宽度。
我宁愿坚持使用 CSS 来获得所需的结果,而不是依赖 javascript/jquery,即使这些工具可用,因为我正在使用 Bootstrap-4
我怎样才能确保旋转的 div 留在它的 parent 内,并使用它的 parents' width/height 因为它是 height/width 的基础,因为它旋转了 90 °?
谢谢!
.emptydropzone{
height: 10vh;
border: 1vh dashed #000;
border-radius: 1vh;
background-color: #CCC;
}
.taflag{
width: 98%;
min-height: 50px;
margin: 10px 125px 10px 5px;
padding: 10px 10px 10px 10px;
border: 5px solid #90C;
border-radius: 5px;
background-color: #90C;
color: #FFF;
font-size:xx-large;
font-weight: bolder;
}
.rotateparent {
position:absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: yellow; /* this is just to see the parent div in testing */
}
.agentflag{
transform: rotate(-90deg);
border: 5px solid #F00;
border-radius: 5px;
background-color: #F00;
color: #FFF;
font-size:xx-large;
font-weight: bolder;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-2">
<div class="taflag"> TA </div>
</div>
<div class="col-10">
<div class="emptydropzone" id="ta" > </div>
</div>
</div>
<div class="row">
<div class="col-2">
<div class="rotateparent">
<div class="agentflag"> AGENTS </div>
</div>
</div>
<div class="col-10">
<div class="emptydropzone" id="agent1"> </div>
<div class="emptydropzone" id="agent2"> </div>
<div class="emptydropzone" id="agent3"> </div>
<div class="emptydropzone" id="agent4"> </div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
writing-mode 在这里可能更有效率。
可能更新更少 html 和更多 boostrap 类
.emptydropzone {
min-height: 10vh;
border: 1vh dashed #000;
border-radius: 1vh;
background-color: #CCC;
}
.taflag {
width: 98%;
min-height: 50px;
margin: 10px 125px 10px 5px;
padding: 10px 10px 10px 10px;
border: 5px solid #90C;
border-radius: 5px;
background-color: #90C;
color: #FFF;
font-size: xx-large;
font-weight: bolder;
}
.rotateparent {
background: yellow;
padding: 10px 0;
}
.agentflag {
writing-mode: vertical-lr;
transform: scale(-1, -1);
/* untill
writing-mode:sideways-lr; works everywhere */
margin: auto;
border: 5px solid #F00;
border-radius: 5px;
background-color: #F00;
color: #FFF;
font-size: xx-large;
font-weight: bolder;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-2">
<div class="taflag"> TA </div>
</div>
<div class="col-10">
<div class="emptydropzone" id="ta"> </div>
</div>
</div>
<div class="row">
<div class="col-2 d-flex rotateparent m-0">
<div class="agentflag m-auto"> AGENTS </div>
</div>
<div class="col-10 d-flex flex-column justify-content-around">
<div class="emptydropzone" id="agent1"> </div>
<div class="emptydropzone" id="agent2"> </div>
<div class="emptydropzone" id="agent3"> </div>
<div class="emptydropzone" id="agent4"> </div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
当我旋转文本(或者更确切地说 div 包含文本)时,这会导致 div escaping 是parent。 不仅如此, div 的高度也是它的原始宽度。 我宁愿坚持使用 CSS 来获得所需的结果,而不是依赖 javascript/jquery,即使这些工具可用,因为我正在使用 Bootstrap-4 我怎样才能确保旋转的 div 留在它的 parent 内,并使用它的 parents' width/height 因为它是 height/width 的基础,因为它旋转了 90 °?
谢谢!
.emptydropzone{
height: 10vh;
border: 1vh dashed #000;
border-radius: 1vh;
background-color: #CCC;
}
.taflag{
width: 98%;
min-height: 50px;
margin: 10px 125px 10px 5px;
padding: 10px 10px 10px 10px;
border: 5px solid #90C;
border-radius: 5px;
background-color: #90C;
color: #FFF;
font-size:xx-large;
font-weight: bolder;
}
.rotateparent {
position:absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: yellow; /* this is just to see the parent div in testing */
}
.agentflag{
transform: rotate(-90deg);
border: 5px solid #F00;
border-radius: 5px;
background-color: #F00;
color: #FFF;
font-size:xx-large;
font-weight: bolder;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-2">
<div class="taflag"> TA </div>
</div>
<div class="col-10">
<div class="emptydropzone" id="ta" > </div>
</div>
</div>
<div class="row">
<div class="col-2">
<div class="rotateparent">
<div class="agentflag"> AGENTS </div>
</div>
</div>
<div class="col-10">
<div class="emptydropzone" id="agent1"> </div>
<div class="emptydropzone" id="agent2"> </div>
<div class="emptydropzone" id="agent3"> </div>
<div class="emptydropzone" id="agent4"> </div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
writing-mode 在这里可能更有效率。
可能更新更少 html 和更多 boostrap 类
.emptydropzone {
min-height: 10vh;
border: 1vh dashed #000;
border-radius: 1vh;
background-color: #CCC;
}
.taflag {
width: 98%;
min-height: 50px;
margin: 10px 125px 10px 5px;
padding: 10px 10px 10px 10px;
border: 5px solid #90C;
border-radius: 5px;
background-color: #90C;
color: #FFF;
font-size: xx-large;
font-weight: bolder;
}
.rotateparent {
background: yellow;
padding: 10px 0;
}
.agentflag {
writing-mode: vertical-lr;
transform: scale(-1, -1);
/* untill
writing-mode:sideways-lr; works everywhere */
margin: auto;
border: 5px solid #F00;
border-radius: 5px;
background-color: #F00;
color: #FFF;
font-size: xx-large;
font-weight: bolder;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-2">
<div class="taflag"> TA </div>
</div>
<div class="col-10">
<div class="emptydropzone" id="ta"> </div>
</div>
</div>
<div class="row">
<div class="col-2 d-flex rotateparent m-0">
<div class="agentflag m-auto"> AGENTS </div>
</div>
<div class="col-10 d-flex flex-column justify-content-around">
<div class="emptydropzone" id="agent1"> </div>
<div class="emptydropzone" id="agent2"> </div>
<div class="emptydropzone" id="agent3"> </div>
<div class="emptydropzone" id="agent4"> </div>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>