mirror of
https://github.com/servo/servo.git
synced 2025-06-25 17:44:33 +01:00
75 lines
2.5 KiB
HTML
75 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<title>CSS Test: active selection of text following a path (complex)</title>
|
|
|
|
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/">
|
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-selectors">
|
|
<link rel="help" href="https://www.w3.org/TR/css-pseudo-4/#highlight-styling">
|
|
<link rel="help" href="https://www.w3.org/TR/fill-stroke-3/#fill-shorthand">
|
|
<link rel="help" href="https://www.w3.org/TR/fill-stroke-3/#stroke-shorthand">
|
|
<link rel="match" href="textpath-selection-011-ref.html">
|
|
|
|
<meta content="svg" name="flags">
|
|
<meta content="This test checks that an SVG application with a text following a text path can be selected and then be styled." name="assert">
|
|
|
|
<style>
|
|
::selection
|
|
{
|
|
background-color: transparent;
|
|
/*
|
|
color suppresses UA default background-color,
|
|
but fill and stroke do not, so set explicitly
|
|
*/
|
|
fill: green;
|
|
/*
|
|
fill is the shorthand form for fill-color,
|
|
fill-image, fill-origin, fill-position, fill-size
|
|
and fill-repeat
|
|
https://www.w3.org/TR/fill-stroke-3/#fill-shorthand
|
|
*/
|
|
stroke: yellow;
|
|
/*
|
|
stroke is the shorthand form for stroke-color,
|
|
stroke-image, stroke-origin, stroke-position,
|
|
stroke-size, and stroke-repeat
|
|
https://www.w3.org/TR/fill-stroke-3/#stroke-shorthand
|
|
*/
|
|
stroke-width: 2px;
|
|
}
|
|
</style>
|
|
|
|
<p>Test passes if the glyphs of "Curvy text sample" are green with a yellow outline.
|
|
|
|
<div>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="550" height="300">
|
|
|
|
<path id="pathToApply"
|
|
d="M 100 200
|
|
C 100 100 200 0 500 200" fill="none" />
|
|
|
|
<text fill="red" style="font-size: 48px;"><textPath xlink:href="#pathToApply" id="test">Curvy text sample</textPath></text>
|
|
|
|
</svg>
|
|
|
|
</div>
|
|
|
|
<script>
|
|
var targetRange = document.createRange();
|
|
/* We first create an empty range */
|
|
|
|
targetRange.setStart(document.getElementById("test").childNodes[0], 0);
|
|
/*
|
|
Then we set the start boundary of the range inside textPath#test to
|
|
the 1st character, which is "C"
|
|
*/
|
|
|
|
targetRange.setEnd(document.getElementById("test").childNodes[0], 17);
|
|
/* And we set the end boundary of the range inside textPath#test
|
|
right after the 18th character which is "e" */
|
|
|
|
window.getSelection().addRange(targetRange);
|
|
/* Finally, we now select such range of content */
|
|
</script>
|