我正在尝试动态构建一个样式表(基于某些业务规则)长话短说它主要起作用,除了有一个css标签我无法设置最小高度。我可以达到身高,但不能达到身高。两者都是有效的CSS值
即
string h = "105mm";
Style dynamicClassStyle = new Style();
dynamicClassStyle.Height = new Unit(h);
Page.Header.StyleSheet.CreateStyleRule(dynamicClassStyle, null, ".make-display");
这会使高度标签变好,但我真正需要的是最小高度。我希望能够去
dynamicClassStyle.Min-Height = new Unit(h);
为了得到这个
.make-display {
min-height:90mm;
}
答案 0 :(得分:2)
你需要
新班级:
using System.Web.UI;
using System.Web.UI.WebControls;
public class MinHeightStyle : Style
{
public Unit MinHeight
{
get
{
var minHeight = this.ViewState["MinHeight"];
if (minHeight != null)
{
return (Unit)minHeight;
}
return Unit.Empty;
}
set
{
this.ViewState["MinHeight"] = value;
}
}
protected override void FillStyleAttributes(CssStyleCollection attributes, IUrlResolutionService urlResolver)
{
base.FillStyleAttributes(attributes, urlResolver);
if (!this.MinHeight.IsEmpty)
{
attributes.Add("min-height", this.MinHeight.ToString());
}
}
}
你的新代码:
string h = "105mm";
MinHeightStyle dynamicClassStyle = new MinHeightStyle();
dynamicClassStyle.Height = new Unit(h);
dynamicClassStyle.MinHeight = new Unit(h);
Page.Header.StyleSheet.CreateStyleRule(dynamicClassStyle, null, ".make-display");
其中包含以下内容:
.make-display { min-height:105mm;height:105mm; }
答案 1 :(得分:0)
Style类不包含名为Min-Height
的属性。查看MSDN链接,以便您无法添加。