2.3.5 特殊元素样式
所谓特殊元素,即特定类型的组件一般只使用某一种或者几种固定的元素,比如alert警告框内一般只用警告标题、内容和关闭链接元素,再如导航(nav)里的经常用的li元素。在定义这些组件的时候,也要为这些常用的元素定义其相关的默认样式。这两个组件对常用特殊元素的样式定义如下所示:
- // 源码 4444 行
- .alert .alert-link { font-weight: bold; /* alert内的链接样式 */}
- .alert > p,.alert > ul { margin-bottom: 0;
- /* alert内的p元素和ul元素的底部外边距设置 */}
- .alert > p + p { margin-top: 5px; /*两个段落之间,增加一个顶部外边距*/}
- .alert-dismissable { padding-right: 35px; /* 增大右内边距,以便关闭按钮*/}
- .alert-dismissable .close { /* 警告框内,如果设置关闭按钮,特殊处理 */
- position: relative;
- top: -2px;
- right: -21px; /* 关闭按钮,右对齐 */
- color: inherit;
- }
- // 源码 3462 行
- .nav > li {
- position: relative; /*所有的菜单项都是相对定位*/
- display: block; /* 块级显示*/
- }
- .nav > li > a {
- position: relative; /* a链接相对定位*/
- display: block; /* 块级显示*/
- padding: 10px 15px; /* 外边距保留稍微大一些*/
- }
- .nav > li > a:hover,.nav > li > a:focus { /* 移动或焦点时链接的显示效果*/
- text-decoration: none;
- background-color: #eeeeee; /* 链接移动或焦点时,背景色变为灰色*/
- }
- .nav > li.disabled > a { color: #999999; /* li上禁用时的链接颜色*/}
- .nav > li.disabled > a:hover,
- .nav > li.disabled > a:focus {
- /* li上禁用时,移动到链接上时的各种处理*/
- color: #999999; /* 颜色变灰*/
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
- }
特殊元素所定义的样式不固定,这取决于是什么样的特殊元素,有的是定义内外边距,有的是自定颜色和背景色,具体元素具体对待。大家在分析源码的时候,一定要结合元素的特性进行分析,比如a链接元素,不仅可以设置内外边距,还可以设置文本颜色,甚至可以设置这些样式在hover、focus状态时的情况。
如果在这些组件内部使用的不是这些常用的特殊元素,而且其他相关的元素,那么就需要自己为这些特殊的情况定义相关的样式了,不然很有可能不符合默认组件的风格。定义的时候,还要考虑默认情况下是什么样式、和颜色样式搭配时又是什么样式,以及设置大小尺寸时要设置多少边距等。总之,要为各种情况设置相应的内容,以保持风格的统一。