修复 Semantic 中一行中一列的宽度 ui
Fix width of one column in a row in Semantic ui
如何在语义 UI 中连续两列,其中一列具有固定宽度并且不随浏览器大小的调整而改变?
我试过了,但出了点问题:
<div class="ui grid container">
<div class="ui two column divided grid">
<div class="row">
<div class="ui four wide column" style="width= 250px;">
</div>
<div class="ui twelve wide column">
<div class="ui link cards">
<div class="card">
<div class="image">
<img src="./lib/img/elliot.jpg">
</div>
<div class="content">
<div class="header">Matt Giampietro</div>
<div class="meta">
<a>Friends</a>
</div>
<div class="description">
Matthew is an interior designer living in New York.
</div>
</div>
<div class="extra content">
<span class="right floated">
Joined in 2013
</span>
<span>
<i class="user icon"></i>
75 Friends
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
(还)没有 SUI 特定的方式,因此您必须编写自定义 CSS
您在代码中使用了过多的 SUI class。
这不是必需的:<div class="ui grid container">
当您在其中定义另一个网格时。
<div class="ui two column divided grid">
中的two column
class也是多余的
所以解决你的问题,你可以改变第一列classes然后用CSS固定它的宽度。
见 JS Fiddle: https://jsfiddle.net/batrasoe/5289q8fr/1/
<div class="left column">
Some Text
</div>
<div class="twelve wide column">
<div class="ui link cards">
对应CSS 属性:
#grid .left.column {
width: 200px;
}
不要在要保持固定的列中使用 class 等 two wide
,因为它们具有一些关联的宽度属性,这些属性可能会覆盖 .left.column
[ 的行为=19=]
对于响应能力,您必须在断点附近稍微管理 padding/margins 或使用媒体查询更新 twelve wide column
的 class。
我通过使用 ui 网格使用的 flexbox 解决了这个问题。
<div class="ui two grid">
<div class="column" style="flex: 1;"></div>
<div class="column" style="flex: 0 0 300px;"></div>
</div>
遗憾的是,Semantic UI 框架不提供固定宽度的列支持。在某些情况下,它可以通过以下方式解决:
<style>
.fixed-one-column {
visibility: hidden;
}
</style>
<div class="ui on wide column fixed-one-column">
content#1
</div>
<div class="ui five wide column fixed-one-column">
content#2
</div>
<div class="ui five wide column fixed-one-column">
content#3
</div>
<script>
var max = -1;
$('.fixed-one-column').each(function() {
if(parseFloat($(this).css('width').replace('px','')) > max) {
max = parseFloat($(this).css('width').replace('px',''));
}
});
$('.fixed-one-column').css({'width':max+'px', 'visibility: initial'});
<script>
如何在语义 UI 中连续两列,其中一列具有固定宽度并且不随浏览器大小的调整而改变?
我试过了,但出了点问题:
<div class="ui grid container">
<div class="ui two column divided grid">
<div class="row">
<div class="ui four wide column" style="width= 250px;">
</div>
<div class="ui twelve wide column">
<div class="ui link cards">
<div class="card">
<div class="image">
<img src="./lib/img/elliot.jpg">
</div>
<div class="content">
<div class="header">Matt Giampietro</div>
<div class="meta">
<a>Friends</a>
</div>
<div class="description">
Matthew is an interior designer living in New York.
</div>
</div>
<div class="extra content">
<span class="right floated">
Joined in 2013
</span>
<span>
<i class="user icon"></i>
75 Friends
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
(还)没有 SUI 特定的方式,因此您必须编写自定义 CSS
您在代码中使用了过多的 SUI class。
这不是必需的:<div class="ui grid container">
当您在其中定义另一个网格时。
<div class="ui two column divided grid">
中的two column
class也是多余的
所以解决你的问题,你可以改变第一列classes然后用CSS固定它的宽度。 见 JS Fiddle: https://jsfiddle.net/batrasoe/5289q8fr/1/
<div class="left column">
Some Text
</div>
<div class="twelve wide column">
<div class="ui link cards">
对应CSS 属性:
#grid .left.column {
width: 200px;
}
不要在要保持固定的列中使用 class 等 two wide
,因为它们具有一些关联的宽度属性,这些属性可能会覆盖 .left.column
[ 的行为=19=]
对于响应能力,您必须在断点附近稍微管理 padding/margins 或使用媒体查询更新 twelve wide column
的 class。
我通过使用 ui 网格使用的 flexbox 解决了这个问题。
<div class="ui two grid">
<div class="column" style="flex: 1;"></div>
<div class="column" style="flex: 0 0 300px;"></div>
</div>
遗憾的是,Semantic UI 框架不提供固定宽度的列支持。在某些情况下,它可以通过以下方式解决:
<style>
.fixed-one-column {
visibility: hidden;
}
</style>
<div class="ui on wide column fixed-one-column">
content#1
</div>
<div class="ui five wide column fixed-one-column">
content#2
</div>
<div class="ui five wide column fixed-one-column">
content#3
</div>
<script>
var max = -1;
$('.fixed-one-column').each(function() {
if(parseFloat($(this).css('width').replace('px','')) > max) {
max = parseFloat($(this).css('width').replace('px',''));
}
});
$('.fixed-one-column').css({'width':max+'px', 'visibility: initial'});
<script>