考虑flex容器的主轴和横轴:
资料来源:W3C
要沿主轴对齐flex项,有一个属性:
要沿横轴对齐flex项,有三个属性:
在上图中,主轴是水平的,横轴是垂直的.这些是Flex容器的默认方向.
但是,这些方向可以很容易地与flex-direction
财产互换.
/* main axis is horizontal, cross axis is vertical */
flex-direction: row;
flex-direction: row-reverse;
/* main axis is vertical, cross axis is horizontal */
flex-direction: column;
flex-direction: column-reverse;
Run Code Online (Sandbox Code Playgroud)
(横轴始终垂直于主轴.)
我在描述轴的工作方式时的观点是,任何一个方向似乎都没有什么特别之处.主轴,横轴,它们在重要性方面都是相同的,并且flex-direction
可以方便地来回切换.
那么为什么横轴有两个额外的对齐属性呢?
为什么align-content
并且align-items
合并为主轴的一个属性?
为什么主轴没有justify-self
属性?
这些属性有用的场景:
将flex项放在flex容器的角落
#box3 { align-self: flex-end; justify-self: flex-end; }
制作一组flex项目align-right(justify-content: flex-end
)但是让第一个项目对齐left(justify-self: flex-start
)
考虑带有一组导航项和徽标的标题部分.随着justify-self
徽标可以左对齐,而导航项目保持最右边,整个事物平滑地调整("弯曲")到不同的屏幕尺寸.
在一排三个柔性物品中,将中间物品粘贴到容器的中心(justify-content: center
)并将相邻的物品对齐到容器边缘(justify-self: flex-start …
使用xhtml1-transitional.dtd
doctype时,使用以下HTML收集信用卡号
<input type="text" id="cardNumber" name="cardNumber" autocomplete='off'/>
Run Code Online (Sandbox Code Playgroud)
将在W3C验证器上标记警告:
没有属性"自动完成".
是否有W3C /标准方法禁用表单中敏感字段的浏览器自动完成?
我应该在样式表中使用以下哪些内容?
/* Example #1: */ background-image: url(image.png);
/* Example #2: */ background-image: url("image.png");
/* Example #3: */ background-image: url('image.png');
Run Code Online (Sandbox Code Playgroud)
W3C指定的正确方法是什么?
input type="submit"
和button
标签是可以互换的吗?或者如果有任何差异那么何时使用input type="submit"
何时button
?
如果没有区别那么为什么我们有2个标签用于相同的目的?
假设我有SVG文件:
<svg width="1024" height="768" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<text x='20' y='60' style="font-size: 60px">b</text>
<text x='100' y='60' style="font-size: 60px">a</text>
</svg>
Run Code Online (Sandbox Code Playgroud)
我想以某种方式对齐顶部a
和b
.实际上,我希望我的定位是根据roofline
而不是baseline
!
我们为什么不拥有box-sizing: margin-box;
?通常当我们放入box-sizing: border-box;
样式表时,我们真正意味着前者.
例:
假设我有一个2列页面布局.两列的宽度都是50%,但它们看起来有点难看,因为没有排水沟(中间有间隙); 下面是CSS:
.col2 {
width: 50%;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
要应用排水沟,您可能会认为我们可以在2列中的第一列上设置右边距; 这样的事情:
.col2:first-child {
margin-right: 24px;
}
Run Code Online (Sandbox Code Playgroud)
但这会使第二列换行到新行,因为以下情况属实:
50% + 50% + 24px > 100%
Run Code Online (Sandbox Code Playgroud)
box-sizing: margin-box;
通过在元素的计算宽度中包含边距来解决此问题.如果不是更有用,我会发现这非常有用box-sizing: border-box;
.
如果你看一下CSS盒子模型规范,你会看到以下内容:
[margin]百分比是根据生成的框的包含块的宽度计算的.请注意,对于"margin-top"和"margin-bottom"也是如此.如果包含块的宽度取决于此元素,则在CSS 2.1中未定义结果布局. (强调我的)
这确实是事实.但为什么呢?究竟是什么迫使任何人以这种方式设计它?你可以很容易地想到你想要的场景,比如某个东西总是从页面顶部降低25%,但是很难想出为什么你想要垂直填充相对于水平大小的父母.
这是我所指的现象的一个例子:
<div style="border: 1px solid red; margin: 0; padding: 0; width: 200px; height: 800px;">
This div is 200x800.
<div style="border: 1px solid blue; margin: 10% 0 0 10%;">
This div has top-margin of 10% and left-margin of 10% with respect to its parent.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
是否有关于如何以十六进制格式表示颜色(包括alpha通道)的W3或任何其他值得注意的标准?
是#RGBA还是#ARGB?
我在一个字符串中有一个完整的XML文档,并且想要一个Document
对象.谷歌出现了各种各样的垃圾.什么是最简单的解决方案?(在Java 1.5中)
解决方案感谢Matt McMinn,我已经确定了这个实现.它具有适当级别的输入灵活性和异常粒度.(很高兴知道错误是来自格式错误的XML SAXException
- 或者只是错误的IO - IOException
.)
public static org.w3c.dom.Document loadXMLFrom(String xml)
throws org.xml.sax.SAXException, java.io.IOException {
return loadXMLFrom(new java.io.ByteArrayInputStream(xml.getBytes()));
}
public static org.w3c.dom.Document loadXMLFrom(java.io.InputStream is)
throws org.xml.sax.SAXException, java.io.IOException {
javax.xml.parsers.DocumentBuilderFactory factory =
javax.xml.parsers.DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
javax.xml.parsers.DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
}
catch (javax.xml.parsers.ParserConfigurationException ex) {
}
org.w3c.dom.Document doc = builder.parse(is);
is.close();
return doc;
}
Run Code Online (Sandbox Code Playgroud) 什么是将org.w3c.dom.Document
stdout 打印(也称为格式化)a的最简单方法?