有时你不希望下划线盲目地删除带下划线的页面标题!
有没有办法为某些小写字符自动优雅地禁用下划线?
在这些情况下,不要强调像{g,q,p,j, y}
CSS:
h1{ text-decoration: underline; }
PAGE TITLE:
George quietely jumped!
A )是否有任何方式可以实现如此精致和高级的样式规则?
B )我们还想要强调哪些拉丁字符?
C )如何设置下划线的粗细/厚度?
答案 0 :(得分:26)
你也可以用边框底部伪造下划线。这可以适用于单行,如果显示属性允许元素缩小内容。 (只是避免阻止)。
这里有一个示例,display:table
允许中心文字和前后断行:http://codepen.io/gc-nomade/pen/vJoKB/
这个想法是什么?
stroke
,在CSS中,我们可以执行类似的增加text-shadow
,颜色与背景相同。在较旧的浏览器中,您将丢失box-shadow
选项,但仍可以使用不同颜色的double
,groove
或ridge
border
样式文本。
感谢@PatNewell分享这个链接:https://medium.com/designing-medium/7c03a9274f9
答案 1 :(得分:14)
此解决方案使用jQuery
自动将字母换行到<span>
标记中的下划线。
<强> DEMO 强>
作为父母text-decoration:underline
&#34;覆盖&#34; text-decoration:none;
的孩子(见here)。该技术仅使用<span class="underline">
包装目标字母(带下划线的字母)并将text-decoration:underline;
应用于该类。
输出:
不会加下划线的迹象:
g j p q y Q @ { _ ( ) [ | ] } ; , § µ ç /
HTML:
<h1 class="title">George quietely jumped!</h1>
CSS:
.underline {
text-decoration:underline;
}
jQuery:
$('.title').each(function () {
var s = '<span class="underline">',
decoded;
$(this).prop('innerHTML', function (_, html) {
s += html.replace(/&/g, '&').replace(/(g|j|p|q|y|Q|@|{|_|\(|\)|\[|\||\]|}|;|,|§|µ|ç|\/)/g, '</span>$1<span class="underline">');
s += '</span>'
$(this).html(s);
});
});
答案 2 :(得分:7)
文字装饰模块3级介绍text-decoration-skip
此属性指定元素内容的哪些部分是任何文本 影响元素的装饰必须跳过。
您可以通过将其设置为ink
来实现所需的行为:
跳过绘制字形的位置:中断装饰线以允许 文本的形状通过文本装饰的位置显示 否则交叉字形。 UA必须跳过一小段距离 字形轮廓的任一侧。
h1 {
text-decoration: underline;
text-decoration-skip: ink;
}
<h1>George quietely jumped!</h1>
注意主流浏览器尚不支持它。
答案 3 :(得分:3)
如果你知道你的背景颜色(在这种情况下假设为白色),请给它一个镜头:
h1 {
line-height: 0.9em;
border-bottom: 1px solid black;
text-shadow: 2px 2px #fff, -2px 2px #fff;
}
小提琴:http://jsfiddle.net/pmn4/a5LZE/
fyi - 浏览器不能很好地使用文本阴影;保守地使用它!
答案 4 :(得分:2)
这将是一个痛苦的屁股,但我会做一个&#34;强调&#34;上课然后进去并手动完成
HTML
<h1><span class="underline">Ver</span>g<span class="underline">eten Kanalen</span></h1>
CSS
.underline{text-decoration:underline;}
答案 5 :(得分:1)
这是我的解决方案:
<强> CSS 强>:
>>> re.findall(r'(\w+?)\s=\s(.+?)', raw, re.DOTALL)
[('CONTENT', 'A'), ('TABLES', 'T'), ('PARALLEL', '4')]
>>> re.findall(r'^(\w+)\s=\s(.+)?', raw, re.M)
[('CONTENT', 'ALL'), ('TABLES', 'TEST.RAW_1'), ('PARALLEL', '4')]
>>> re.findall(r'(\w+)\s=\s(.+)?', raw, re.DOTALL)
[('CONTENT', 'ALL\nTABLES = TEST.RAW_1\n , TEST.RAW_2\n , TEST.RAW_3\n , TEST.RAW_4\nPARALLEL = 4\n')]
答案 6 :(得分:0)
查看text-decoration-skip-ink
CSS属性。这可以指定当上划线和下划线越过字形的上升和下降位置时如何绘制。
h1 {
text-decoration: black underline;
text-decoration-skip-ink: auto;
}
<h1>George quietely jumped!</h1>