diff --git a/files/en-us/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md b/files/en-us/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md index 4f9292a26094583..fb9fe8f0f930b8e 100644 --- a/files/en-us/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md +++ b/files/en-us/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md @@ -158,7 +158,7 @@ The `chrome_settings_overrides` key is an object that may have the following pro
prepopulated_id {{optional_inline}}
The ID of a built-in search engine to use.
search_url_get_params {{optional_inline}}
-
String: GET parameters to send to search_url.
+
String: GET parameters to send to search_url. Available only in Firefox, for optimal cross-browser compatibility use search_url instead.
search_url_post_params {{optional_inline}}
String: POST parameters to send to search_url.
suggest_url {{optional_inline}}
@@ -166,7 +166,7 @@ The `chrome_settings_overrides` key is an object that may have the following pro String: URL used for search suggestions. This must be an HTTPS URL.
suggest_url_get_params {{optional_inline}}
-
String: GET parameters to send to suggest_url.
+
String: GET parameters to send to suggest_url. Available only in Firefox, for optimal cross-browser compatibility use suggest_url instead.
suggest_url_post_params {{optional_inline}}
String: POST parameters to send to suggest_url.
diff --git a/files/en-us/mozilla/firefox/releases/133/index.md b/files/en-us/mozilla/firefox/releases/133/index.md index db3e2242bc4ae7d..32adf14bdce2355 100644 --- a/files/en-us/mozilla/firefox/releases/133/index.md +++ b/files/en-us/mozilla/firefox/releases/133/index.md @@ -12,7 +12,7 @@ This article provides information about the changes in Firefox 133 that affect d ### HTML -No notable changes +- The [`viewport ` tag](/en-US/docs/Web/HTML/Viewport_meta_tag) now supports the [`interactive-widgets`](/en-US/docs/Web/HTML/Viewport_meta_tag#the_effect_of_interactive_ui_widgets) attribute, this influences the size of the viewport when common UI widgets, such as virtual keyboards, are added to the screen. ([Firefox bug 1831649](https://bugzil.la/1831649) and [Firefox bug 1920755](https://bugzil.la/1920755)). ### CSS diff --git a/files/en-us/web/api/htmlsourceelement/media/index.md b/files/en-us/web/api/htmlsourceelement/media/index.md new file mode 100644 index 000000000000000..3159348f4c389cd --- /dev/null +++ b/files/en-us/web/api/htmlsourceelement/media/index.md @@ -0,0 +1,53 @@ +--- +title: "HTMLSourceElement: media property" +short-title: media +slug: Web/API/HTMLSourceElement/media +page-type: web-api-instance-property +browser-compat: api.HTMLSourceElement.media +--- + +{{APIRef("HTML DOM")}} + +The **`media`** property of the {{domxref("HTMLSourceElement")}} interface is a string representing the intended destination medium for the resource. The value is a [media query](/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries), which is a comma separated list of media-types, media-features, and logical operators. + +It reflects the `media` attribute of the {{HTMLElement("source")}} element. + +## Value + +A string. + +## Examples + +```html + +``` + +```js +const el = document.getElementById("el"); +console.log(el.media); // Output: "screen and (min-width: 600px)" +el.media = "(min-width: 800px)"; // Updates the media value +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("HTMLSourceElement.type")}} +- {{domxref("HTMLSourceElement.sizes")}} +- {{domxref("HTMLSourceElement.src")}} +- {{domxref("HTMLSourceElement.srcset")}} +- {{htmlelement("source")}} +- {{htmlelement("picture")}} +- {{htmlelement("audio")}} +- {{htmlelement("video")}} +- [Using media queries](/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries) diff --git a/files/en-us/web/api/htmlsourceelement/sizes/index.md b/files/en-us/web/api/htmlsourceelement/sizes/index.md new file mode 100644 index 000000000000000..9f1753a29b822b5 --- /dev/null +++ b/files/en-us/web/api/htmlsourceelement/sizes/index.md @@ -0,0 +1,55 @@ +--- +title: "HTMLSourceElement: sizes property" +short-title: sizes +slug: Web/API/HTMLSourceElement/sizes +page-type: web-api-instance-property +browser-compat: api.HTMLSourceElement.sizes +--- + +{{APIRef("HTML DOM")}} + +The **`sizes`** property of the {{domxref("HTMLSourceElement")}} interface is a string representing a list of one or more sizes, representing sizes between breakpoints, to which the resource applies. + +It reflects the `sizes` attribute of the {{HTMLElement("source")}} element. + +## Value + +A string. + +## Examples + +```html + +``` + +```js +const el = document.getElementById("el"); +console.log(el.sizes); // Output: "((min-width: 50em) and (max-width: 60em)) 50em, ((min-width: 30em) and (max-width: 50em)) 30em" +el.sizes = + "((min-width: 50em) and (max-width: 60em)) 50em, ((min-width: 30em) and (max-width: 50em)) 30em"; // Updates the sizes value +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("HTMLImageElement.sizes")}} +- {{domxref("HTMLSourceElement.media")}} +- {{domxref("HTMLSourceElement.type")}} +- {{domxref("HTMLSourceElement.src")}} +- {{domxref("HTMLSourceElement.srcset")}} +- {{htmlelement("source")}} +- {{htmlelement("picture")}} +- {{htmlelement("audio")}} +- {{htmlelement("video")}} diff --git a/files/en-us/web/api/htmlsourceelement/src/index.md b/files/en-us/web/api/htmlsourceelement/src/index.md new file mode 100644 index 000000000000000..4918668d4dcf53d --- /dev/null +++ b/files/en-us/web/api/htmlsourceelement/src/index.md @@ -0,0 +1,51 @@ +--- +title: "HTMLSourceElement: src property" +short-title: src +slug: Web/API/HTMLSourceElement/src +page-type: web-api-instance-property +browser-compat: api.HTMLSourceElement.src +--- + +{{APIRef("HTML DOM")}} + +The **`src`** property of the {{domxref("HTMLSourceElement")}} interface is a string indicating the URL of a media resource to use as the source for the element. + +It reflects the `src` attribute of the {{HTMLElement("source")}} element nested in an {{htmlelement("audio")}} or {{htmlelement("video")}} element. It has no meaning and is ignored when it is nested in a {{htmlelement("picture")}} element. + +## Value + +A string; the URL of a source resource to use in the element. + +## Examples + +```html + +``` + +```js +const el = document.getElementById("el"); +console.log(el.src); // Output: "large.webp" +el.src = "medium.webp"; // Updates the src value +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("HTMLSourceElement.type")}} +- {{domxref("HTMLSourceElement.srcset")}} +- {{domxref("HTMLSourceElement.media")}} +- {{domxref("HTMLSourceElement.sizes")}} +- {{htmlelement("source")}} +- {{htmlelement("audio")}} +- {{htmlelement("video")}} diff --git a/files/en-us/web/api/htmlsourceelement/srcset/index.md b/files/en-us/web/api/htmlsourceelement/srcset/index.md new file mode 100644 index 000000000000000..1f4dff181756306 --- /dev/null +++ b/files/en-us/web/api/htmlsourceelement/srcset/index.md @@ -0,0 +1,51 @@ +--- +title: "HTMLSourceElement: srcset property" +short-title: srcset +slug: Web/API/HTMLSourceElement/srcset +page-type: web-api-instance-property +browser-compat: api.HTMLSourceElement.srcset +--- + +{{APIRef("HTML DOM")}} + +The **`srcset`** property of the {{domxref("HTMLSourceElement")}} interface is a string containing a comma-separated list of candidate images. + +Each candidate image includes the URL of an image resource to use as the source for the element and optionally a descriptor indicating the circumstances in which the image should be used. The descriptor is either a number followed by `'w'`, indicating the element width, or a number followed by `'x'`, indicating the device pixel density. + +It reflects the `srcset` attribute of the {{HTMLElement("source")}} element nested in a {{htmlelement("picture")}} element. It has no meaning and is ignored when it is nested in an {{htmlelement("audio")}} or {{htmlelement("video")}} element, which use the {{domxref("HTMLSourceElement.src", "src")}} attribute instead. + +## Value + +A string. + +## Examples + +```html + +``` + +```js +const el = document.getElementById("el"); +console.log(el.srcset); // Output: "smile.png, smile-1.5x.png 1.5x, smile-large 800w" +el.srcset = "smile.png, smile-med.png 600w, smile-large.png 800w"; // Updates the srcset value +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("HTMLSourceElement.type")}} +- {{domxref("HTMLSourceElement.src")}} +- {{domxref("HTMLSourceElement.media")}} +- {{domxref("HTMLSourceElement.sizes")}} +- {{htmlelement("source")}} +- {{htmlelement("picture")}} diff --git a/files/en-us/web/api/htmlsourceelement/type/index.md b/files/en-us/web/api/htmlsourceelement/type/index.md new file mode 100644 index 000000000000000..fa09bb49ac8c71b --- /dev/null +++ b/files/en-us/web/api/htmlsourceelement/type/index.md @@ -0,0 +1,54 @@ +--- +title: "HTMLSourceElement: type property" +short-title: type +slug: Web/API/HTMLSourceElement/type +page-type: web-api-instance-property +browser-compat: api.HTMLSourceElement.type +--- + +{{APIRef("HTML DOM")}} + +The **`type`** property of the {{domxref("HTMLSourceElement")}} interface is a string representing the {{glossary("MIME type")}} of the media resource. + +It reflects the `type` attribute of the {{HTMLElement("source")}} element. + +## Value + +A string. + +## Examples + +```html + +``` + +```js +const el = document.getElementById("el"); +console.log(el.type); // Output: "video/webp" +``` + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- {{domxref("HTMLSourceElement.src")}} +- {{domxref("HTMLSourceElement.srcset")}} +- {{domxref("HTMLSourceElement.media")}} +- {{domxref("HTMLSourceElement.sizes")}} +- {{htmlelement("source")}} +- {{htmlelement("picture")}} +- {{htmlelement("audio")}} +- {{htmlelement("video")}} +- [Media types found on the web](/en-US/docs/Web/Media/Formats) +- [Important MIME types for web developers](/en-US/docs/Web/HTTP/MIME_types#important_mime_types_for_web_developers) +- {{domxref("Media Capabilities API")}} diff --git a/files/en-us/web/api/navigator/globalprivacycontrol/index.md b/files/en-us/web/api/navigator/globalprivacycontrol/index.md index 2f0c081cafc3886..fcc45fad0be5a62 100644 --- a/files/en-us/web/api/navigator/globalprivacycontrol/index.md +++ b/files/en-us/web/api/navigator/globalprivacycontrol/index.md @@ -5,11 +5,10 @@ slug: Web/API/Navigator/globalPrivacyControl page-type: web-api-instance-property status: - experimental - - non-standard browser-compat: api.Navigator.globalPrivacyControl --- -{{APIRef("DOM")}}{{SeeCompatTable}}{{non-standard_header}} +{{APIRef("DOM")}}{{SeeCompatTable}} The **`Navigator.globalPrivacyControl`** read-only property returns the user's [Global Privacy Control](https://globalprivacycontrol.org/) setting for the current website. This setting indicates whether the user consents to the website or service selling or sharing their personal information with third parties. diff --git a/files/en-us/web/api/navigator/index.md b/files/en-us/web/api/navigator/index.md index e8faed8ee3753ec..df14f7bad7b2afa 100644 --- a/files/en-us/web/api/navigator/index.md +++ b/files/en-us/web/api/navigator/index.md @@ -98,7 +98,7 @@ _Doesn't inherit any properties._ - {{domxref("Navigator.buildID")}} {{ReadOnlyInline}} {{Non-standard_Inline}} - : Returns the build identifier of the browser. In modern browsers this property now returns a fixed timestamp as a privacy measure, e.g. `20181001000000` in Firefox 64 onwards. -- {{domxref("Navigator.globalPrivacyControl")}} {{ReadOnlyInline}} {{Experimental_Inline}} {{non-standard_inline}} +- {{domxref("Navigator.globalPrivacyControl")}} {{ReadOnlyInline}} {{Experimental_Inline}} - : Returns a boolean indicating a user's consent to their information being shared or sold. - {{domxref("Navigator.standalone")}} {{Non-standard_Inline}} - : Returns a boolean indicating whether the browser is running in standalone mode. Available on Apple's iOS Safari only. diff --git a/files/en-us/web/api/workernavigator/globalprivacycontrol/index.md b/files/en-us/web/api/workernavigator/globalprivacycontrol/index.md index d64034d39bcb3ee..97ec1b8de450813 100644 --- a/files/en-us/web/api/workernavigator/globalprivacycontrol/index.md +++ b/files/en-us/web/api/workernavigator/globalprivacycontrol/index.md @@ -5,11 +5,10 @@ slug: Web/API/WorkerNavigator/globalPrivacyControl page-type: web-api-instance-property status: - experimental - - non-standard browser-compat: api.WorkerNavigator.globalPrivacyControl --- -{{APIRef("DOM")}}{{SeeCompatTable}}{{non-standard_header}}{{AvailableInWorkers("worker")}} +{{APIRef("DOM")}}{{SeeCompatTable}}{{AvailableInWorkers("worker")}} The **`WorkerNavigator.globalPrivacyControl`** read-only property returns the user's [Global Privacy Control](https://globalprivacycontrol.org/) setting for the current website. This setting indicates whether the user consents to the website or service selling or sharing their personal information with third parties. diff --git a/files/en-us/web/api/workernavigator/index.md b/files/en-us/web/api/workernavigator/index.md index ca752cc4090cc1b..03962421b6e5d94 100644 --- a/files/en-us/web/api/workernavigator/index.md +++ b/files/en-us/web/api/workernavigator/index.md @@ -23,7 +23,7 @@ _The `WorkerNavigator` interface doesn't inherit any property._ - : Provides a {{DOMxRef("NetworkInformation")}} object containing information about the network connection of a device. - {{domxref("WorkerNavigator.deviceMemory")}} {{ReadOnlyInline}} {{SecureContext_Inline}} - : Returns the amount of device memory in gigabytes. This value is an approximation given by rounding to the nearest power of 2 and dividing that number by 1024. -- {{domxref("WorkerNavigator.globalPrivacyControl")}} {{ReadOnlyInline}} {{Experimental_Inline}} {{non-standard_inline}} +- {{domxref("WorkerNavigator.globalPrivacyControl")}} {{ReadOnlyInline}} {{Experimental_Inline}} - : Returns a boolean indicating a user's consent to their information being shared or sold. - {{domxref("WorkerNavigator.gpu")}} {{ReadOnlyInline}} {{Experimental_Inline}} {{SecureContext_Inline}} - : Returns the {{domxref("GPU")}} object for the current worker context. The entry point for the {{domxref("WebGPU_API", "WebGPU API", "", "nocode")}}. diff --git a/files/en-us/web/css/appearance/index.md b/files/en-us/web/css/appearance/index.md index d8d9362b851b7da..bd584509f5aa1df 100644 --- a/files/en-us/web/css/appearance/index.md +++ b/files/en-us/web/css/appearance/index.md @@ -44,7 +44,7 @@ Some examples are provided, but the list is not exhaustive. - `none` - - : Hides certain features of widgets, such as arrow displayed in select element, indicating that list can be expanded. + - : If the element is a widget (native form control), it will be forced to use a standardized primitive appearance instead of a platform-native or operating system specific appearance, supporting the usual rules of CSS. This value has no effect on non-widget elements, including replaced elements like {{htmlelement("img")}} and {{htmlelement("video")}}. - `auto` diff --git a/files/en-us/web/css/at-rule-functions/index.md b/files/en-us/web/css/at-rule-functions/index.md index 0a7f61e9a7818b2..d0c367776d7343b 100644 --- a/files/en-us/web/css/at-rule-functions/index.md +++ b/files/en-us/web/css/at-rule-functions/index.md @@ -25,8 +25,6 @@ The {{CSSxRef("@import")}} at-rule is used to import styles from other styleshee - {{CSSxRef("@import", "@import url()")}} - : Imports a stylesheet file from the specified URL. -- {{CSSxRef("@import", "@import src()")}} - - : Imports a stylesheet file from the specified source. - {{CSSxRef("@import", "@import supports()")}} - : Imports a stylesheet file based on browser support. - {{CSSxRef("@import", "@import layer()")}} @@ -49,8 +47,6 @@ The {{CSSxRef("@namespace")}} at-rule is used to specify XML namespaces to be us - {{CSSxRef("@namespace", "@namespace url()")}} - : Defines XML namespace from the specified URL. -- {{CSSxRef("@namespace", "@namespace src()")}} - - : Defines XML namespace from the specified source. ## @container functions diff --git a/files/en-us/web/css/css_shapes/basic_shapes/index.md b/files/en-us/web/css/css_shapes/basic_shapes/index.md index 9141a813997492d..0a792c66afb0619 100644 --- a/files/en-us/web/css/css_shapes/basic_shapes/index.md +++ b/files/en-us/web/css/css_shapes/basic_shapes/index.md @@ -80,11 +80,81 @@ The above rules can therefore also be written as: In the example below we have an `inset()` shape used to pull content over the floated element. Change the offset values to see how the shape changes. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/inset.html", '100%', 800)}} +```html live-sample___inset +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___inset +body { + font: 1.2em sans-serif; +} + +.shape { + float: left; + width: 150px; + height: 100px; + shape-outside: inset(20px 50px 10px 0 round 50px); + background-color: rebeccapurple; + border: 2px solid black; + border-radius: 10px; + margin: 20px; + padding: 20px; +} +``` + +{{EmbedLiveSample("inset", "", "250px")}} You can also add a box value as an alternative reference box. In the example below, try changing the reference box from `margin-box` to `border-box`, `padding-box`, or `content-box` to see how the reference box used as the starting point changes before offsets are calculated. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/inset-box.html", '100%', 800)}} +```html hidden live-sample___inset-box +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___inset-box +body { + font: 1.2em sans-serif; +} + +.shape { + float: left; + width: 150px; + height: 100px; + shape-outside: inset(20px 50px 10px 0 round 50px) margin-box; + background-color: rebeccapurple; + border: 2px solid black; + border-radius: 10px; + margin: 20px; + padding: 20px; +} +``` + +{{EmbedLiveSample("inset-box", "", "250px")}} You can also create rectangles based on distances from the top and left edges of the reference box with the [`rect()`](/en-US/docs/Web/CSS/basic-shape/rect) function, or by width and height with the [`xywh()`](/en-US/docs/Web/CSS/basic-shape/xywh) function; both of these also support optional rounded corners. @@ -100,13 +170,74 @@ The second argument is a `position`, which accepts a one- or two-keyword [`` means the radius is `125px`. The position value is set to `30%`, which is `30%` from the left and at the default vertical `center`. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/circle.html", '100%', 800)}} +```html live-sample___circle +
+ An orange hot air balloon as seen from below +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___circle +body { + font: 1.2em sans-serif; +} + +img { + float: left; + shape-outside: circle(50% at 30%); + margin: 20px; +} +``` + +{{EmbedLiveSample("circle", "", "250px")}} Play with increasing or decreasing the size of the circle by changing the size of the radius, moving the circle around with the position value, or setting a reference box as we did for `inset()`. The below example combines generated content with a `circle()` function that uses the keywords `top left` for position. This creates a quarter circle shape in the top left corner of the page for text to flow around. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/circle-generated.html", '100%', 700)}} +```html live-sample___circle-generated +
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___circle-generated +body { + font: 1.2em sans-serif; +} + +.box::before { + content: ""; + float: left; + width: 250px; + height: 250px; + shape-outside: circle(50% at top left); +} +``` + +{{EmbedLiveSample("circle-generated", "", "300px")}} ### The shape will be clipped by the margin box @@ -127,11 +258,72 @@ An ellipse is a squashed circle. As such, the [`ellipse()`](/en-US/docs/Web/CSS/ These may then be followed by one or two `` values, as with `circle()`, to define the location of the center of the ellipse. In the example below, we have an ellipse with an `x` radius of `40%`, a `y` radius of `50%` and the `` set to `left`. This means that the center of the ellipse is at the center of the left edge of the reference box. This creates a half ellipse shape around which the text will wrap. You can change these values to see how the ellipse changes. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/ellipse.html", '100%', 800)}} +```html live-sample___ellipse +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___ellipse +body { + font: 1.2em sans-serif; +} +.shape { + float: left; + shape-outside: ellipse(40% 50% at left); + margin: 20px; + width: 100px; + height: 200px; +} +``` + +{{EmbedLiveSample("ellipse", "", "300px")}} The keyword values of `closest-side` and `farthest-side` are useful in creating a quick ellipse based on the size of the floated element reference box. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/ellipse-keywords.html", '100%', 800)}} +```html hidden live-sample___ellipse-keywords +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___ellipse-keywords +body { + font: 1.2em sans-serif; +} + +.shape { + float: left; + shape-outside: ellipse(closest-side farthest-side at 30%); + margin: 20px; + width: 100px; + height: 140px; +} +``` + +{{EmbedLiveSample("ellipse-keywords", "", "250px")}} ## polygon() @@ -139,7 +331,43 @@ The [`polygon()`](/en-US/docs/Web/CSS/basic-shape/polygon) function is more comp The example below creates a shape for text to follow using the `polygon()` function. Try changing the coordinate values to see how the shape changes. -{{EmbedGHLiveSample("css-examples/shapes/basic-shape/polygon.html", '100%', 800)}} +```html hidden live-sample___polygon +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___polygon +body { + font: 1.2em sans-serif; +} + +.shape { + float: left; + shape-outside: polygon( + 0px 0px, + 0px 189px, + 100.48% 94.71%, + 200px 120px, + 80.67% 37.17% + ); + width: 200px; + height: 200px; +} +``` + +{{EmbedLiveSample("polygon", "", "250px")}} To create even more complex shapes, you can define the outline of any shape with the [`path()`](/en-US/docs/Web/CSS/basic-shape/path) or [`shape()`](/en-US/docs/Web/CSS/basic-shape/shape) functions. diff --git a/files/en-us/web/css/css_shapes/from_box_values/index.md b/files/en-us/web/css/css_shapes/from_box_values/index.md index 2678f28b983e0ab..c285b52019365c5 100644 --- a/files/en-us/web/css/css_shapes/from_box_values/index.md +++ b/files/en-us/web/css/css_shapes/from_box_values/index.md @@ -31,7 +31,39 @@ The `margin-box` is the shape defined by the outside margin edge and includes th In the example below, we have a circular purple item which is a {{htmlelement("div")}} with a height, width, and background color. The `border-radius` property has been used to create a circle by setting `border-radius: 50%`. As the element has a margin, you can see that the content is flowing around the circular shape and the margin applied to it. -{{EmbedGHLiveSample("css-examples/shapes/box/margin-box.html", '100%', 800)}} +```html live-sample___margin-box +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. +

+
+``` + +```css live-sample___margin-box +body { + font: 1.2em sans-serif; +} + +.shape { + background-color: rebeccapurple; + height: 80px; + width: 80px; + padding: 20px; + margin: 20px; + border: 10px solid black; + border-radius: 50%; + float: left; + shape-outside: margin-box; +} +``` + +{{EmbedLiveSample("margin-box", "", "200px")}} ### border-box @@ -39,19 +71,124 @@ The `border-box` value is the shape defined by the outside border edge. This sha In the example below, you can see how the text now follows the line created by the border. Change the border size, and the content will follow it. -{{EmbedGHLiveSample("css-examples/shapes/box/border-box.html", '100%', 800)}} +```html hidden live-sample___border-box +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. +

+
+``` + +```css live-sample___border-box +body { + font: 1.2em sans-serif; +} +.box { + width: 70%; +} + +.shape { + background-color: rebeccapurple; + height: 80px; + width: 80px; + padding: 20px; + margin: 20px; + border: 10px solid black; + border-radius: 50%; + float: left; + shape-outside: border-box; +} +``` + +{{EmbedLiveSample("border-box", "", "240px")}} ### padding-box The `padding-box` value defines the shape enclosed by the outside padding edge. This shape follows all of the normal border radius shaping rules for the inside of the border. If you have no padding then `padding-box` is the same as `content-box`. -{{EmbedGHLiveSample("css-examples/shapes/box/padding-box.html", '100%', 800)}} +```html hidden live-sample___padding-box +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. +

+
+``` + +```css live-sample___padding-box +body { + font: 1.2em / 1.2 sans-serif; +} +.box { + width: 70%; +} + +.shape { + background-color: rebeccapurple; + height: 80px; + width: 80px; + padding: 20px; + margin: 20px; + border: 10px solid black; + border-radius: 50%; + float: left; + shape-outside: padding-box; +} +``` + +{{EmbedLiveSample("padding-box", "", "260px")}} ### content-box The `content-box` value defines the shape enclosed by the outside content edge. Each corner radius of this box is the `border-radius` less the `border-width` and `padding`, or `0`, whichever is larger. This means that it is impossible to have a negative value here. -{{EmbedGHLiveSample("css-examples/shapes/box/content-box.html", '100%', 800)}} +```html hidden live-sample___content-box +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. +

+
+``` + +```css live-sample___content-box +body { + font: 1.2em / 1.2 sans-serif; +} +.box { + width: 70%; +} + +.shape { + background-color: rebeccapurple; + height: 80px; + width: 80px; + padding: 20px; + margin: 20px; + border: 10px solid black; + border-radius: 50%; + float: left; + shape-outside: content-box; +} +``` + +{{EmbedLiveSample("content-box", "", "250px")}} ## When to use box values @@ -59,6 +196,50 @@ Using box values is a simple way to create shapes; however, this is by nature on With just this basic technique, you can create some interesting effects. In my final example of this section, I have floated two elements left and right, giving each a border radius of 100% in the direction closest to the text. -{{EmbedGHLiveSample("css-examples/shapes/box/bottom-margin-box.html", '100%', 800)}} +```html live-sample___bottom-margin-box +
+
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. +

+
+``` + +```css live-sample___bottom-margin-box +body { + font: 1.2em / 1.5 sans-serif; +} + +.box { + text-align: justify; +} + +.shape-left, +.shape-right { + height: 100px; + width: 100px; +} + +.shape-left { + margin: 0 20px 20px 0; + border-bottom-right-radius: 100%; + float: left; + shape-outside: margin-box; +} +.shape-right { + margin: 0 20px 20px; + border-bottom-left-radius: 100%; + float: right; + shape-outside: margin-box; +} +``` + +{{EmbedLiveSample("bottom-margin-box", "", "240px")}} For more complex shapes, you will need to use one of the [basic shapes](/en-US/docs/Web/CSS/CSS_shapes/Basic_shapes) as a value, or define your shape from an image as covered in other guides in this section. diff --git a/files/en-us/web/css/css_shapes/overview_of_shapes/index.md b/files/en-us/web/css/css_shapes/overview_of_shapes/index.md index abb0ef00316ec9e..d9b838ec9eefaf9 100644 --- a/files/en-us/web/css/css_shapes/overview_of_shapes/index.md +++ b/files/en-us/web/css/css_shapes/overview_of_shapes/index.md @@ -26,7 +26,37 @@ The `shape-outside` property allows us to define a shape. It takes a variety of In the following example, an image is floated to the left. We apply the `shape-outside` property with a `circle(50%)` value. The result is that the content now curves around the circular shape rather than following the rectangle created by the box of the image. -{{EmbedGHLiveSample("css-examples/shapes/overview/circle.html", '100%', 720)}} +```html live-sample___circle +
+ An orange hot air balloon as seen from below +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___circle +body { + font: 1.2em / 1.4 sans-serif; +} + +img { + float: left; + shape-outside: circle(50%); +} +``` + +{{EmbedLiveSample("circle", "", "280px")}} Here we used the {{cssxref("basic-shape/circle", "circle()")}} function, which is supported across all modern browsers. If we used a newer shape type that doesn't have full support, users of non-supporting browsers would see the content flowing around the sides of a rectangular, due to the image being floated. Shapes are a visual progressive enhancement. @@ -60,7 +90,41 @@ Shapes can also be created around the box value. Therefore, you could create you In the example below, you can change the value `border-box` to any of the other allowed values to see how the shape moves closer or further away from the box. -{{EmbedGHLiveSample("css-examples/shapes/overview/box.html", '100%', 810)}} +```html live-sample___box +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___box +body { + font: 1.2em / 1.4 sans-serif; +} + +.shape { + background-color: rebeccapurple; + height: 150px; + width: 150px; + padding: 20px; + margin: 20px; + border-radius: 50%; + float: left; + shape-outside: border-box; +} +``` + +{{EmbedLiveSample("box", "", "320px")}} To explore the box values in more detail, see our guide covering [Shapes from box values](/en-US/docs/Web/CSS/CSS_shapes/From_box_values). @@ -72,7 +136,37 @@ Note that images used in this way must be [CORS compatible](/en-US/docs/Web/HTTP In this next example, we have an image with a fully transparent area, and we are using an image as the URL value for `shape-outside`. The shape is created around the opaque area — the image of the balloon. -{{EmbedGHLiveSample("css-examples/shapes/overview/image.html", '100%', 800)}} +```html live-sample___image +
+ An orange hot air balloon as seen from below +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___image +body { + font: 1.2em / 1.4 sans-serif; +} + +img { + float: left; + shape-outside: url(https://mdn.github.io/shared-assets/images/examples/round-balloon.png); +} +``` + +{{EmbedLiveSample("image", "", "280px")}} #### `shape-image-threshold` @@ -80,7 +174,49 @@ The `shape-image-threshold` property is used to set the threshold of image trans You can see the threshold in action if we use a gradient as the image on which to define our shape. In the example below, if you change the threshold the path that the shape takes changes based on the level of opacity you have selected. -{{EmbedGHLiveSample("css-examples/shapes/overview/threshold.html", '100%', 820)}} +```html live-sample___threshold +
+
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___threshold +body { + font: 1.2em / 1.4 sans-serif; +} + +.shape { + float: left; + width: 200px; + height: 200px; + background-image: linear-gradient( + 45deg, + rebeccapurple, + transparent 80%, + transparent + ); + shape-outside: linear-gradient( + 45deg, + rebeccapurple, + transparent 80%, + transparent + ); + shape-image-threshold: 0.4; +} +``` + +{{EmbedLiveSample("threshold", "", "280px")}} To learn more about creating shapes from images, see the [Shapes from images](/en-US/docs/Web/CSS/CSS_shapes/Shapes_from_images) guide. @@ -90,7 +226,37 @@ The {{cssxref("shape-margin")}} property adds a margin to `shape-outside`. This In the example below we have added a `shape-margin` to a basic shape. Change the margin to push the text further away from the path the shape would take by default. -{{EmbedGHLiveSample("css-examples/shapes/overview/shape-margin.html", '100%', 800)}} +```html live-sample___shape-margin +
+ An orange hot air balloon as seen from below +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___shape-margin +body { + font: 1.2em / 1.4 sans-serif; +} +img { + float: left; + shape-outside: circle(50%); + shape-margin: 5px; +} +``` + +{{EmbedLiveSample("shape-margin", "", "280px")}} ## Using Generated Content as the floated item @@ -98,7 +264,41 @@ In the examples above, we have used images or a visible element to define the sh In this example, we use generated content to insert an element with a height and width of 150px. We can then use basic shapes, box values, or even the alpha channel of an image to create a shape for the text to wrap around. -{{EmbedGHLiveSample("css-examples/shapes/overview/generated-content.html", '100%', 850)}} +```html live-sample___generated-content +
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___generated-content +body { + font: 1.2em sans-serif; +} + +.box::before { + content: ""; + display: block; + height: 150px; + width: 150px; + padding: 20px; + margin: 20px; + border-radius: 50%; + float: left; + shape-outside: border-box; +} +``` + +{{EmbedLiveSample("generated-content", "", "260px")}} ## Relationship to `clip-path` @@ -106,7 +306,38 @@ The basic shapes and box values used to create shapes are the same as those used The image below is a square image with a blue background. We have defined a shape using `shape-outside: ellipse(40% 50%);` and also used `clip-path: ellipse(40% 50%);` to clip away the same area that we used to define the shape. -{{EmbedGHLiveSample("css-examples/shapes/overview/clip-path.html", '100%', 800)}} +```html live-sample___clip-path +
+ An orange hot air balloon as seen from below +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___clip-path +body { + font: 1.2em / 1.4 sans-serif; +} + +img { + float: left; + shape-outside: ellipse(40% 50%); + clip-path: ellipse(40% 50%); +} +``` + +{{EmbedLiveSample("clip-path", "", "280px")}} ## Developer Tools for Shapes diff --git a/files/en-us/web/css/css_shapes/shapes_from_images/index.md b/files/en-us/web/css/css_shapes/shapes_from_images/index.md index 9572afdd43a3235..8a62652d585f4a4 100644 --- a/files/en-us/web/css/css_shapes/shapes_from_images/index.md +++ b/files/en-us/web/css/css_shapes/shapes_from_images/index.md @@ -14,11 +14,71 @@ To use an image for creating a shape, the image needs to have an Alpha Channel, In the example below, there is an image of a star with a solid red area and an area that is fully transparent. The path to the image file is used as the value for the {{cssxref("shape-outside")}} property. The content now wraps around the star shape. -{{EmbedGHLiveSample("css-examples/shapes/image/simple-example.html", '100%', 800)}} +```html live-sample___simple-example +
+ A red star +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___simple-example +body { + font: 1.2em / 1.5 sans-serif; +} +img { + float: left; + shape-outside: url(https://mdn.github.io/shared-assets/images/examples/star-shape.png); +} +``` + +{{EmbedLiveSample("simple-example", "", "340px")}} You can use {{cssxref("shape-margin")}} to move the text away from the shape, giving a margin around the created shape and the text. -{{EmbedGHLiveSample("css-examples/shapes/image/margin.html", '100%', 800)}} +```html hidden live-sample___margin +
+ A red star +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___margin +body { + font: 1.2em / 1.5 sans-serif; +} + +img { + float: left; + shape-outside: url(https://mdn.github.io/shared-assets/images/examples/star-shape.png); + shape-margin: 20px; +} +``` + +{{EmbedLiveSample("margin", "", "340px")}} ## CORS compatibility @@ -32,9 +92,40 @@ DevTools can help you to identify CORS errors. In Chrome the Console will alert The {{cssxref("shape-image-threshold")}} property enables the creation of shapes from areas which are not fully transparent. If the value of `shape-image-threshold` is `0.0` (which is the initial value) then the area must be fully transparent. If the value is `1.0` then it is fully opaque. Values in between mean that you can set a semi-transparent area as the defining area. -In the example below I am using a similar image to the initial example, however, in this image the background of the star is not fully transparent, it has a 20% opacity as created in my graphics program. If I set `shape-image-threshold` to `0.3` then I see the shape, if I set it to something smaller than `0.2` I do not get the shape. +In the example below, the background of the star is not fully transparent, it has a 20% opacity as created in my graphics program. If I set `shape-image-threshold` to `0.2` or greater, then I see the shape, if I set it to something smaller than `0.2` I do not get the shape. -{{EmbedGHLiveSample("css-examples/shapes/image/threshold.html", '100%', 800)}} +```html hidden live-sample___threshold +
+ A red star +

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___threshold +body { + font: 1.2em / 1.5 sans-serif; +} + +img { + float: left; + shape-outside: url(https://mdn.github.io/shared-assets/images/examples/star-red-20.png); + shape-image-threshold: 0.2; +} +``` + +{{EmbedLiveSample("threshold", "", "340px")}} ## Using images with generated content @@ -42,7 +133,38 @@ In the above example, I have both used the image as the value of {{cssxref("shap You do need something to float, but that could be some generated content as in the below example. I am floating generated content and using a larger star image to shape my content without displaying any image on the page. -{{EmbedGHLiveSample("css-examples/shapes/image/generated-content.html", '100%', 800)}} +```html live-sample___generated-content +
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___generated-content +body { + font: 1.2em / 1.5 sans-serif; +} + +.box::before { + content: ""; + float: left; + width: 400px; + height: 300px; + shape-outside: url(https://mdn.github.io/shared-assets/images/examples/star-shape.png); + shape-image-threshold: 0.3; +} +``` + +{{EmbedLiveSample("generated-content", "", "420px")}} ## Creating shapes using a gradient @@ -52,10 +174,88 @@ The next example uses generated content. The content has been floated, giving it You could also try removing the background image completely, thus using the gradient purely to create the shape and not displaying it on the page at all. -{{EmbedGHLiveSample("css-examples/shapes/image/gradient.html", '100%', 800)}} +```html live-sample___gradient +
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___gradient +body { + font: 1.2em / 1.5 sans-serif; +} + +.box::before { + content: ""; + float: left; + height: 250px; + width: 400px; + background-image: linear-gradient( + to bottom right, + rebeccapurple, + transparent + ); + shape-outside: linear-gradient(to bottom right, rebeccapurple, transparent); + shape-image-threshold: 0.3; +} +``` + +{{EmbedLiveSample("gradient", "", "400px")}} The next example uses a radial gradient with an ellipse, once again using a transparent part of the gradient to create the shape. -{{EmbedGHLiveSample("css-examples/shapes/image/radial-gradient.html", '100%', 800)}} +```html hidden live-sample___radial-gradient +
+

+ One November night in the year 1782, so the story runs, two brothers sat + over their winter fire in the little French town of Annonay, watching the + grey smoke-wreaths from the hearth curl up the wide chimney. Their names + were Stephen and Joseph Montgolfier, they were papermakers by trade, and + were noted as possessing thoughtful minds and a deep interest in all + scientific knowledge and new discovery. Before that night—a memorable night, + as it was to prove—hundreds of millions of people had watched the rising + smoke-wreaths of their fires without drawing any special inspiration from + the fact. +

+
+``` + +```css live-sample___radial-gradient +body { + font: 1.2em / 1.5 sans-serif; +} + +.box::before { + content: ""; + float: left; + height: 250px; + width: 400px; + background-image: radial-gradient( + ellipse closest-side, + rebeccapurple, + blue 50%, + transparent + ); + shape-outside: radial-gradient( + ellipse closest-side, + rebeccapurple, + blue 50%, + transparent + ); + shape-image-threshold: 0.3; +} +``` + +{{EmbedLiveSample("radial-gradient", "", "400px")}} You can experiment directly in these live examples to see how changing the gradient will change the path of your shape. diff --git a/files/en-us/web/css/css_transforms/index.md b/files/en-us/web/css/css_transforms/index.md index 31dfcf04cbcd533..77dca67a2b67d28 100644 --- a/files/en-us/web/css/css_transforms/index.md +++ b/files/en-us/web/css/css_transforms/index.md @@ -13,9 +13,646 @@ The **CSS transforms** module defines how elements styled with CSS can be transf ## CSS transforms in action -Use the sliders in the frame below to modify the translation, rotation, scale, and skew CSS transform properties of the cube in 3D space. As you move the cube through 3D space, notice the way it interacts with the element labelled `z:0px`, which is located at the 3D position `(0, 0, 0)`. +Use the sliders in the example below to modify the translation, rotation, scale, and skew CSS transform properties of the cube in 3D space. As you move the cube through 3D space, notice the way it interacts with the element labelled `z:0px`, which is located at the 3D position `(0, 0, 0)`. -{{EmbedGHLiveSample("css-examples/modules/transforms.html", '100%', 900)}} +```html hidden live-sample___transforms +
+
+ + Transform settings + + +
+
+ + + + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + + + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + + + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + + + +
+
+ + +
+
+ + +
+
+
+ +
+ + + + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + + + +
+
+ +
+
+
+
+
+
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
z:0px
+
+
+
+
+``` + +```css hidden live-sample___transforms +#allTransformFieldset { + border: none; + padding: 0; + margin-bottom: 4px; + accent-color: blue; /* or any color */ + font-family: Inter, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, + "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; +} + +#allTransformFieldset > legend { + margin-bottom: 4px; +} + +fieldset { + margin: 0; +} + +legend { + font-weight: bold; + padding: 0; +} + +#fieldsetSection { + display: flex; + flex-wrap: wrap; + align-items: start; + gap: 8px; +} + +#outputSection { + width: 100%; + min-height: 400px; + background: linear-gradient(skyblue, khaki); + display: flex; + justify-content: center; + align-items: center; + position: relative; + overflow: clip; +} + +#outputContainer { + position: absolute; + width: 100%; + height: 100%; + perspective: 200px; + display: flex; + justify-content: center; + align-items: center; + transform-style: preserve-3d; + pointer-events: none; +} + +#z0 { + width: 50px; + height: 50px; + background: linear-gradient( + to right bottom, + rgb(223 223 223), + rgb(190 190 190) + ); + transform: translateZ(0px); + position: absolute; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + color: black; + border-radius: 50%; + outline: 1px solid rgb(0 0 0 / 0.35); + pointer-events: all; +} + +#perspectiveDot { + width: 4px; + height: 4px; + border-radius: 50%; + background-color: rgb(240 0 0 / 0.5); + transform: translate3d(-2px, -2px, 0px); + position: absolute; +} + +#cube { + width: 100px; + height: 100px; + transform-style: preserve-3d; + transition: all 0.075s ease-out; + position: absolute; + pointer-events: all; +} + +.face { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + position: absolute; + backface-visibility: inherit; + font-size: 60px; + color: white; +} + +.front { + background: rgb(90 90 90 / 0.7); + transform: translateZ(50px); +} + +.back { + background: rgb(0 210 0 / 0.7); + transform: rotateY(180deg) translateZ(50px); +} + +.right { + background: rgb(210 0 0 / 0.7); + transform: rotateY(90deg) translateZ(50px); +} + +.left { + background: rgb(0 0 210 / 0.7); + transform: rotateY(-90deg) translateZ(50px); +} + +.top { + background: rgb(210 210 0 / 0.7); + transform: rotateX(90deg) translateZ(50px); +} + +.bottom { + background: rgb(210 0 210 / 0.7); + transform: rotateX(-90deg) translateZ(50px); +} + +.transformFieldset { + margin: 0; +} + +.controlsContainer { + display: flex; + flex-direction: column; + align-items: start; + gap: 4px; +} + +.controlsContainer { + width: 100%; +} + +.controlsContainer > div { + display: flex; + flex-direction: row; + align-items: center; + gap: 4px; +} + +.controlsContainer > div > label { + display: flex; + flex-direction: row; + align-items: center; + gap: 4px; +} + +button { + font-size: 18px; + border-radius: 50%; + border: #ccc solid 1px; + padding: 0; + width: 26px; + height: 26px; + margin-left: 4px; +} + +input[type="range"] { + width: 172px; +} + +output { + width: 3em; +} +``` + +```js hidden live-sample___transforms +allTransformFieldset + .querySelectorAll("input[type='range']") + .forEach((rangeInput) => { + // Event listeners for when the range inputs change + rangeInput.addEventListener("input", (el) => { + updateTransform(); + }); + + // Reset the relevant transform setting when the range input is double clicked + rangeInput.addEventListener("dblclick", (el) => { + resetInput(el.target); + updateTransform(); + }); + }); + +// Event listeners for when checkbox inputs change +allTransformFieldset + .querySelectorAll("input[type='checkbox']") + .forEach((checkboxInput) => { + checkboxInput.addEventListener("input", (el) => { + updateTransform(); + }); + }); + +// "Reset All" button event listener +resetAllButton.addEventListener("click", () => { + allTransformFieldset.querySelectorAll("input").forEach((input) => { + resetInput(input); + }); + updateTransform(); +}); + +// Section reset button event listeners +allTransformFieldset + .querySelectorAll(".resetSectionButton") + .forEach((resetSectionButton) => { + resetSectionButton.addEventListener("click", (el) => { + let allRanges = el.target.parentElement.parentElement.querySelectorAll( + "input[type='range']", + ); + allRanges.forEach((range) => { + resetInput(range); + }); + + let allCheckboxes = + el.target.parentElement.parentElement.querySelectorAll( + "input[type='checkbox']", + ); + allCheckboxes.forEach((check) => { + resetInput(check); + }); + + updateTransform(); + }); + }); + +const resetInput = (inputEl) => { + if (!inputEl) { + console.warn(`inputEl \`${inputEl}\` is falsy!`); + console.trace(); + return; + } + + const defaultValue = inputEl.getAttribute("data-default"); + if (inputEl.getAttribute("type") === "checkbox") { + inputEl.checked = defaultValue === "checked"; + } else { + inputEl.value = defaultValue || "0"; + } +}; + +const updateOutputs = () => { + translateXOutput.value = `${parseInt(translateXRange.value)}px`; + translateYOutput.value = `${parseInt(translateYRange.value)}px`; + translateZOutput.value = `${parseInt(translateZRange.value)}px`; + + rotateXOutput.value = `${parseInt(rotateXRange.value)}°`; + rotateYOutput.value = `${parseInt(rotateYRange.value)}°`; + rotateZOutput.value = `${parseInt(rotateZRange.value)}°`; + + scaleXOutput.value = `${parseFloat(scaleXRange.value)}x`; + scaleYOutput.value = `${parseFloat(scaleYRange.value)}x`; + scaleZOutput.value = `${parseFloat(scaleZRange.value)}x`; + + skewXOutput.value = `${parseFloat(skewXRange.value)}°`; + skewYOutput.value = `${parseFloat(skewYRange.value)}°`; + + perspectiveOutput.value = `${parseInt(perspectiveRange.value)}px`; + + perspectiveOriginXOutput.value = `${parseInt(perspectiveOriginXRange.value)}%`; + perspectiveOriginYOutput.value = `${parseInt(perspectiveOriginYRange.value)}%`; +}; + +const updateTransform = () => { + updateOutputs(); + + cube.style.transform = `translate3d(${translateXRange.value}px, + ${translateYRange.value}px, + ${translateZRange.value}px) + rotateX(${rotateXRange.value}deg) + rotateY(${rotateYRange.value}deg) + rotateZ(${rotateZRange.value}deg) + scale3d(${scaleXRange.value}, + ${scaleYRange.value}, + ${scaleZRange.value}) + skewX(${skewXRange.value}deg) + skewY(${skewYRange.value}deg)`; + cube.style.backfaceVisibility = `${backfaceVisibilityCheckbox.checked ? "visible" : "hidden"}`; + + outputContainer.style.perspective = `${perspectiveRange.value}px`; + outputContainer.style.perspectiveOrigin = `${perspectiveOriginXRange.value}% ${perspectiveOriginYRange.value}%`; + + perspectiveDot.style.top = `${perspectiveOriginYRange.value}%`; + perspectiveDot.style.left = `${perspectiveOriginXRange.value}%`; +}; +updateTransform(); +``` + +{{EmbedLiveSample("transforms", "", "850px")}} You can also use the `perspective` slider to modify the [`perspective`](/en-US/docs/Web/CSS/perspective) property of the cube's container, which determines the distance between you and the `z=0` plane. @@ -28,8 +665,6 @@ The cube in the above example is comprised of six `
` elements, all of which > [!NOTE] > The order in which transformations, including 3D rotations, are applied affects the resultant transformation. In the above example, transforms are translated, scaled, rotated, then skewed. The rotations are applied in the order X → Y → Z. -You can [view this example's source on GitHub](https://github.com/mdn/css-examples/blob/main/modules/transforms.html). - ## Reference ### Properties diff --git a/files/en-us/web/css/css_transitions/using_css_transitions/index.md b/files/en-us/web/css/css_transitions/using_css_transitions/index.md index 5f0318d71e73e8e..3b0c40b7867f394 100644 --- a/files/en-us/web/css/css_transitions/using_css_transitions/index.md +++ b/files/en-us/web/css/css_transitions/using_css_transitions/index.md @@ -300,28 +300,56 @@ The code renders as follows: Transitions are a great tool to make things look much smoother without having to do anything to your JavaScript functionality. Take the following example. -```html +```html live-sample___js-transitions

Click anywhere to move the ball

+ + ``` -Using JavaScript you can make the effect of moving the ball to a certain position happen: +With CSS, you can smooth the styles applied through JavaScript. Add a transition to the element and any change will happen smoothly: -```js -const f = document.getElementById("foo"); -document.addEventListener( - "click", - (ev) => { - f.style.transform = `translateY(${ev.clientY - 25}px)`; - f.style.transform += `translateX(${ev.clientX - 25}px)`; - }, - false, -); -``` +```css hidden live-sample___js-transitions +body { + background-color: #fff; + color: #333; + font: + 1.2em / 1.5 Helvetica Neue, + Helvetica, + Arial, + sans-serif; + padding: 0; + margin: 0; +} -With CSS you can make it smooth without any extra effort. Add a transition to the element and any change will happen smoothly: +p { + margin-top: 3em; +} -```css +main { + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + max-width: 660px; + height: 400px; + border: 1px solid #ccc; + padding: 20px; +} +``` + +```css live-sample___js-transitions .ball { border-radius: 25px; width: 50px; @@ -334,7 +362,7 @@ With CSS you can make it smooth without any extra effort. Add a transition to th } ``` -{{EmbedGHLiveSample("css-examples/transitions/js-transitions.html", '100%', 500)}} +{{EmbedLiveSample("js-transitions", "", "400px")}} ### Detecting the start and completion of a transition diff --git a/files/en-us/web/css/display/multi-keyword_syntax_of_display/index.md b/files/en-us/web/css/display/multi-keyword_syntax_of_display/index.md index bf412ce4e88c353..91f373bc877ef2f 100644 --- a/files/en-us/web/css/display/multi-keyword_syntax_of_display/index.md +++ b/files/en-us/web/css/display/multi-keyword_syntax_of_display/index.md @@ -29,11 +29,50 @@ As an example, when we use `display: flex` we create a block-level container, wi The live example below has a `` with `display: flex` applied. It has become a block-level box taking up all available space in the inline direction. You can now use `justify-content: space-between` to put this space between the two flex items. -{{EmbedGHLiveSample("css-examples/display/multi-keyword/span-flex.html", '100%', 440)}} +```html live-sample___span-flex + Some text emphasized text +``` + +```css live-sample___span-flex +body { + font: 1.2em / 1.5 sans-serif; +} +.flex { + border: 5px solid #ccc; + display: flex; + justify-content: space-between; +} +``` + +{{EmbedLiveSample("span-flex")}} It's also possible to create inline flex containers. If you use the single value `inline-flex` you will have an inline-level box with flex children. The children behave in the same way as the flex children of a block-level container. The only thing that has changed is that the parent is now an inline-level box. It therefore behaves like other inline-level things, and doesn't take up the full width (or size in the inline dimension) that a block-level box does. This means that some following text could come up alongside the flex container. -{{EmbedGHLiveSample("css-examples/display/multi-keyword/inline-flex.html", '100%', 440)}} +```html live-sample___inline-flex +
+
One
+
Two
+
+Text following the flex container. +``` + +```css live-sample___inline-flex +body { + font: 1.2em / 1.5 sans-serif; +} +.flex > div { + border: 2px solid rgb(96 139 168); + border-radius: 5px; + background-color: rgb(96 139 168 / 0.2); +} + +.flex { + border: 5px solid #ccc; + display: inline-flex; +} +``` + +{{EmbedLiveSample("inline-flex")}} The same is true when working with grid layout. Using `display: grid` will give you a block-level box, which creates a grid formatting context for the direct children. Using `display: inline-grid` will create an inline-level box, which creates a grid formatting context for the children. @@ -43,7 +82,50 @@ As you can see from the above explanation, the `display` property has considerab This means that instead of setting `display: flex` to create a block-level box with flex children, we use `display: block flex`. Instead of `display: inline-flex` to create an inline-level box with flex children, we use `display: inline flex`. The example below demonstrates these values. -{{EmbedGHLiveSample("css-examples/display/multi-keyword/multi-keyword-flex.html", '100%', 640)}} +```html live-sample___multi-keyword-flex +

Multiple values for display

+ +
+
Item One
+
Item Two
+
Item Three
+
+ +

The first example is a block element with flex children.

+ +
+
Item One
+
Item Two
+
Item Three
+
+The second example is an inline element with flex children. +``` + +```css live-sample___multi-keyword-flex +body { + font: 1.2em / 1.5 sans-serif; +} +.flex { + border: 5px solid #ccc; + gap: 10px; +} + +.flex > * { + border: 2px solid rgb(96 139 168); + border-radius: 5px; + background-color: rgb(96 139 168 / 0.2); +} + +.flex1 { + display: block flex; +} + +.flex2 { + display: inline flex; +} +``` + +{{EmbedLiveSample("multi-keyword-flex", "", "300px")}} There are mappings for all of the existing values of `display`; the most common ones are listed in the table below. To see a full list take a look at the table found in the [`display` property specification](https://drafts.csswg.org/css-display/#display-value-summary). @@ -149,7 +231,31 @@ This is why `display: flow-root` can be written using the multi-keyword syntax ` The value `display: inline-block` has been around since the early days of CSS. The reason we tend to use it is to allow padding to push inline items away from an element, when creating navigation items for example, or when wanting to add a background with padding to an inline element as in the example below. -{{EmbedGHLiveSample("css-examples/display/multi-keyword/inline-block.html", '100%', 440)}} +```html live-sample___inline-block +

+ This paragraph has a span with padding it is + an inline-block so the padding is contained and pushes the other line boxes + away. +

+``` + +```css live-sample___inline-block +body { + font: 1.2em / 1.5 sans-serif; +} +p { + border: 2px dashed; + width: 300px; +} +.inline-block { + background-color: rgb(0 0 0 / 0.4); + color: #fff; + padding: 10px; + display: inline-block; +} +``` + +{{EmbedLiveSample("inline-block", "", "200px")}} An element with `display: inline-block` however, will also contain floats. It contains everything inside the inline-level box. Therefore `display: inline-block` does exactly what `display: flow-root` does, but with an inline-level, rather than a block-level box. The two-value syntax accurately describes what is happening with this value. In the example above, you can change `display: inline-block` to `display: inline flow-root` and get the same result. diff --git a/files/en-us/web/css/font-synthesis-position/index.md b/files/en-us/web/css/font-synthesis-position/index.md index a0dc032626c201c..7a028f38e806cde 100644 --- a/files/en-us/web/css/font-synthesis-position/index.md +++ b/files/en-us/web/css/font-synthesis-position/index.md @@ -2,10 +2,12 @@ title: font-synthesis-position slug: Web/CSS/font-synthesis-position page-type: css-property +status: + - experimental browser-compat: css.properties.font-synthesis-position --- -{{CSSRef}} +{{CSSRef}}{{SeeCompatTable}} The **`font-synthesis-position`** [CSS](/en-US/docs/Web/CSS) property lets you specify whether or not a browser may synthesize the subscript and superscript "position" typefaces when they are missing in a font family, while using {{cssxref("font-variant-position")}} to set the positions. diff --git a/files/en-us/web/css/gradient/conic-gradient/index.md b/files/en-us/web/css/gradient/conic-gradient/index.md index 9591914bc22b3e2..2f2b7ecb5fb3f9e 100644 --- a/files/en-us/web/css/gradient/conic-gradient/index.md +++ b/files/en-us/web/css/gradient/conic-gradient/index.md @@ -53,7 +53,7 @@ conic-gradient( - : An {{Glossary("interpolation")}} hint defining how the gradient progresses between adjacent color stops. The length defines at which point between two color stops the gradient color should reach the midpoint of the color transition. If omitted, the midpoint of the color transition is the midpoint between two color stops. > [!NOTE] -> Rendering of [color stops in CSS gradients](#gradient_with_multiple_color_stops) follows the same rules as color stops in [SVG gradients](/en-US/docs/Web/SVG/Tutorial/Gradients). +> Rendering of color stops in conic gradients follows the same rules as [color stops in linear gradients](/en-US/docs/Web/CSS/gradient/linear-gradient#composition_of_a_linear_gradient). ## Description diff --git a/files/en-us/web/css/gradient/repeating-conic-gradient/index.md b/files/en-us/web/css/gradient/repeating-conic-gradient/index.md index 8898496c37d1a0a..a737920c6420cd6 100644 --- a/files/en-us/web/css/gradient/repeating-conic-gradient/index.md +++ b/files/en-us/web/css/gradient/repeating-conic-gradient/index.md @@ -41,7 +41,7 @@ repeating-conic-gradient(in hsl shorter hue, red, blue 90deg, green 180deg) - : An {{Glossary("interpolation")}} hint defining how the gradient progresses between adjacent color stops. The length defines at which point between two color stops the gradient color should reach the midpoint of the color transition. If omitted, the midpoint of the color transition is the midpoint between two color stops. > [!NOTE] -> Rendering of [color stops in CSS gradients](#gradient_with_multiple_color_stops) follows the same rules as color stops in [SVG gradients](/en-US/docs/Web/SVG/Tutorial/Gradients). +> Rendering of color stops in repeating conic gradients follows the same rules as [color stops in linear gradients](/en-US/docs/Web/CSS/gradient/linear-gradient#composition_of_a_linear_gradient). ## Description diff --git a/files/en-us/web/css/gradient/repeating-linear-gradient/index.md b/files/en-us/web/css/gradient/repeating-linear-gradient/index.md index 67a481856351f11..11c70ecbce614df 100644 --- a/files/en-us/web/css/gradient/repeating-linear-gradient/index.md +++ b/files/en-us/web/css/gradient/repeating-linear-gradient/index.md @@ -65,7 +65,7 @@ repeating-linear-gradient(in hsl longer hue, blue, red 50px) - : The color-hint is an interpolation hint defining how the gradient progresses between adjacent color stops. The length defines at which point between two color stops the gradient color should reach the midpoint of the color transition. If omitted, the midpoint of the color transition is the midpoint between two color stops. > [!NOTE] -> Rendering of [color stops in CSS gradients](#gradient_with_multiple_color_stops) follows the same rules as color stops in [SVG gradients](/en-US/docs/Web/SVG/Tutorial/Gradients). +> Rendering of color stops in repeating linear gradients follows the same rules as [color stops in linear gradients](/en-US/docs/Web/CSS/gradient/linear-gradient#composition_of_a_linear_gradient). ### Formal syntax diff --git a/files/en-us/web/css/url_value/index.md b/files/en-us/web/css/url_value/index.md index 2af6102d2d442ce..8e55e6883c83a03 100644 --- a/files/en-us/web/css/url_value/index.md +++ b/files/en-us/web/css/url_value/index.md @@ -12,7 +12,7 @@ The **``** [CSS](/en-US/docs/Web/CSS) [data type](/en-US/docs/Web/CSS/CSS_T ## Syntax ```plain - = | + = ``` ### Values @@ -21,8 +21,9 @@ The value is either of the following: - [``](/en-US/docs/Web/CSS/url_function) - : The `url()` function accepts only a URL literal string (with or without quotes). -- `` - - : This function can accept a URL string or a [CSS variable](/en-US/docs/Web/CSS/var). + +> [!NOTE] +> The specification defines an alternative function called `src()` that accepts a URL string or a [CSS variable](/en-US/docs/Web/CSS/var). But no web browser has implemented the function yet. ## Specifications diff --git a/files/en-us/web/html/attributes/rel/noopener/index.md b/files/en-us/web/html/attributes/rel/noopener/index.md index 7b6556416bb04be..c5e7b56fd820ceb 100644 --- a/files/en-us/web/html/attributes/rel/noopener/index.md +++ b/files/en-us/web/html/attributes/rel/noopener/index.md @@ -16,7 +16,7 @@ This is especially useful when opening untrusted links, in order to ensure they Note that when `noopener` is used, nonempty target names other than `_top`, `_self`, and `_parent` are all treated like `_blank` in terms of deciding whether to open a new window/tab. > [!NOTE] -> Setting `target="_blank"` on `` elements now implicitly provides the same `rel` behavior as setting `rel="noopener"` which does not set `window.opener`. See [browser compatibility](/en-US/docs/Web/HTML/Element/a#browser_compatibility) for support status. +> Setting `target="_blank"` on ``, `` and `
` elements implicitly provides the same `rel` behavior as setting `rel="noopener"` which does not set `window.opener`. ## Specifications diff --git a/files/en-us/web/http/headers/sec-gpc/index.md b/files/en-us/web/http/headers/sec-gpc/index.md index 285d1e131f5b160..f30e9f38045c883 100644 --- a/files/en-us/web/http/headers/sec-gpc/index.md +++ b/files/en-us/web/http/headers/sec-gpc/index.md @@ -4,12 +4,11 @@ slug: Web/HTTP/Headers/Sec-GPC page-type: http-header status: - experimental - - non-standard browser-compat: http.headers.Sec-GPC spec-urls: https://privacycg.github.io/gpc-spec/ --- -{{HTTPSidebar}}{{SeeCompatTable}}{{non-standard_header}} +{{HTTPSidebar}}{{SeeCompatTable}} The HTTP **`Sec-GPC`** {{Glossary("request header")}} is part of the [Global Privacy Control](https://globalprivacycontrol.org/) (GPC) mechanism to indicate whether the user consents to a website or service selling or sharing their personal information with third parties. diff --git a/files/en-us/web/mathml/global_attributes/dir/index.md b/files/en-us/web/mathml/global_attributes/dir/index.md index f99baca20dd9b4e..4577967be3b1551 100644 --- a/files/en-us/web/mathml/global_attributes/dir/index.md +++ b/files/en-us/web/mathml/global_attributes/dir/index.md @@ -9,11 +9,24 @@ browser-compat: mathml.global_attributes.dir The **`dir`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) is an [enumerated](/en-US/docs/Glossary/Enumerated) attribute that indicates the directionality of the MathML element. -## Syntax +## Example + +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + place-items: center; + font-size: 1.5rem; +} +``` ```html - + س @@ -25,7 +38,7 @@ The **`dir`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) is an - + س @@ -37,6 +50,15 @@ The **`dir`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) is an ``` +{{ EmbedLiveSample("Example", "", 150) }} + +## Syntax + +```html-nolint + + +``` + ### Values - `ltr`, which means _left to right_ and is used to render mathematical expressions from the left to the right (e.g. English or Moroccan style); diff --git a/files/en-us/web/mathml/global_attributes/displaystyle/index.md b/files/en-us/web/mathml/global_attributes/displaystyle/index.md index e16b046b081f10c..07c054ab185e25a 100644 --- a/files/en-us/web/mathml/global_attributes/displaystyle/index.md +++ b/files/en-us/web/mathml/global_attributes/displaystyle/index.md @@ -13,6 +13,19 @@ The **`displaystyle`** [global attribute](/en-US/docs/Web/MathML/Global_attribut In this example, an [munder](/en-US/docs/Web/MathML/Element/munder) element is used to attach a script "A" to a base "∑". By default, the summation symbol is rendered with the [font-size](/en-US/docs/Web/CSS/font-size) inherited from its parent and the A as a scaled down subscript. With the explicit `displaystyle="true"` attribute, the summation symbol is instead drawn bigger and the "A" becomes an underscript. +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + place-items: center; + font-size: 1.5rem; +} +``` + ```html @@ -26,11 +39,13 @@ In this example, an [munder](/en-US/docs/Web/MathML/Element/munder) element is u ``` +{{ EmbedLiveSample("Example", "", 150) }} + ## Syntax ```html-nolint - - + + ``` ### Values diff --git a/files/en-us/web/mathml/global_attributes/href/index.md b/files/en-us/web/mathml/global_attributes/href/index.md index fb664875595c51c..fa15704ac3cdc03 100644 --- a/files/en-us/web/mathml/global_attributes/href/index.md +++ b/files/en-us/web/mathml/global_attributes/href/index.md @@ -13,14 +13,42 @@ The **`href`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) crea ## Example +The first equation links to the Wikipedia article about the [mass-energy equivalence](https://en.wikipedia.org/wiki/Mass-energy_equivalence). The square root part of the second equation is a link to the [SageMath](https://sagecell.sagemath.org/?z=eJwrLiwq0TCOM9I2iTPSBAAeqgPO) calculation. + +> [!NOTE] +> You should avoid nesting MathML elements with the `href` attributes, just like {{htmlelement("a")}} elements, as is will lead to user confusion and accessibility issues. + +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + place-items: center; + font-size: 1.5rem; +} +``` + ```html - - + + + E + = + m + + c + 2 + + + + + c = - 3 @@ -37,6 +65,19 @@ The **`href`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) crea ``` +{{ EmbedLiveSample("Example", "", 150) }} + +## Syntax + +```html-nolint + +``` + +### Values + +- `URL` + - : The URL to which the hyperlink points. + ## Specifications The `href` attribute is not defined in any browser-oriented specification but you can find a description in [MathML 4](https://w3c.github.io/mathml/#interf_link). diff --git a/files/en-us/web/mathml/global_attributes/mathbackground/index.md b/files/en-us/web/mathml/global_attributes/mathbackground/index.md index 7fb6312edc9d597..123239b8fc82faf 100644 --- a/files/en-us/web/mathml/global_attributes/mathbackground/index.md +++ b/files/en-us/web/mathml/global_attributes/mathbackground/index.md @@ -14,6 +14,31 @@ The **`mathbackground`** [global attribute](/en-US/docs/Web/MathML/Global_attrib > [!NOTE] > Use CSS for styling MathML whenever possible. The `mathbackground` attribute should only be included for applications that are not CSS-aware and will be overridden by the CSS `background-color` property value, if set. +## Example + +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + align-items: center; + font-size: 1.5rem; +} +``` + +```html + + + x + + +``` + +{{EmbedLiveSample("Example", "", 150)}} + ## Syntax ```html-nolint diff --git a/files/en-us/web/mathml/global_attributes/mathcolor/index.md b/files/en-us/web/mathml/global_attributes/mathcolor/index.md index f788eb438c13c4d..ff01cbb9df95c09 100644 --- a/files/en-us/web/mathml/global_attributes/mathcolor/index.md +++ b/files/en-us/web/mathml/global_attributes/mathcolor/index.md @@ -14,6 +14,31 @@ The **`mathcolor`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) > [!NOTE] > Use CSS for styling MathML whenever possible. The `mathcolor` attribute should only be included for applications that are not CSS-aware and will be overridden by the CSS `color` property, if set. +## Example + +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + align-items: center; + font-size: 1.5rem; +} +``` + +```html + + + x + + +``` + +{{EmbedLiveSample("Example", "", 150)}} + ## Syntax ```html-nolint diff --git a/files/en-us/web/mathml/global_attributes/mathsize/index.md b/files/en-us/web/mathml/global_attributes/mathsize/index.md index 7f36557fa88fbcd..ca91c912b227403 100644 --- a/files/en-us/web/mathml/global_attributes/mathsize/index.md +++ b/files/en-us/web/mathml/global_attributes/mathsize/index.md @@ -14,6 +14,41 @@ The **`mathsize`** [global attribute](/en-US/docs/Web/MathML/Global_attributes) > [!NOTE] > Use CSS for styling MathML whenever possible. The `mathsize` attribute should only be included for applications that are not CSS-aware and will be overridden by the CSS `font-size` property, if set. +## Example + +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + place-items: center; +} +``` + +```html + + + a + 2 + + + + + b + 2 + + = + + c + 2 + + +``` + +{{EmbedLiveSample("Example", "", 150)}} + ## Syntax ```html-nolint diff --git a/files/en-us/web/mathml/global_attributes/scriptlevel/index.md b/files/en-us/web/mathml/global_attributes/scriptlevel/index.md index ae4d5c269fbf022..07c5380a10ebf28 100644 --- a/files/en-us/web/mathml/global_attributes/scriptlevel/index.md +++ b/files/en-us/web/mathml/global_attributes/scriptlevel/index.md @@ -11,19 +11,31 @@ The **`scriptlevel`** [global attribute](/en-US/docs/Web/MathML/Global_attribute ## Example +```css hidden +html, +body { + height: 100%; +} + +body { + display: grid; + place-items: center; +} +``` + ```html - + - BASE + base - SUBSCRIPT + subscript - SUPERSCRIPT + superscript ``` @@ -47,6 +59,8 @@ If `` is an unsigned [integer](/en-US/docs/Web/CSS/integer) (i.e. with prefix - `-` - : Sets the `math-depth` to value `add(-)`. This will scale up `font-size` on the element `` times. +{{EmbedLiveSample("Example", "", 150)}} + ## Specifications {{Specifications}} diff --git a/files/sidebars/accessibilitysidebar.yaml b/files/sidebars/accessibilitysidebar.yaml index 712530f6709e542..607218721fd5c7d 100644 --- a/files/sidebars/accessibilitysidebar.yaml +++ b/files/sidebars/accessibilitysidebar.yaml @@ -1,12 +1,14 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section - title: Accessibility link: /Web/Accessibility - - details: closed - title: Guides + title: Accessibility + - title: Guides + details: closed children: - /Web/Accessibility/Information_for_Web_authors - - "/Web/Accessibility/Accessibility:_What_users_can_to_to_browse_safely" + - /Web/Accessibility/Accessibility:_What_users_can_to_to_browse_safely - /Web/Accessibility/An_overview_of_accessible_web_applications_and_widgets - /Web/Accessibility/Keyboard-navigable_JavaScript_widgets - /Web/Accessibility/Mobile_accessibility_checklist @@ -15,8 +17,8 @@ sidebar: - /Web/Accessibility/Accessibility_and_Spacial_Patterns - /Web/Accessibility/Understanding_Colors_and_Luminance - /Web/Accessibility/Seizure_disorders - - details: closed - title: Learn + - title: Learn + details: closed children: - /Learn/Accessibility/ - /Learn/Accessibility/What_is_accessibility @@ -27,15 +29,14 @@ sidebar: - /Learn/Accessibility/Mobile - /Learn/Accessibility/Accessibility_troubleshooting - type: listSubPages - details: closed + path: /Web/Accessibility/Understanding_WCAG title: WCAG - path: /en-US/docs/Web/Accessibility/Understanding_WCAG - + details: closed - type: section - title: ARIA link: Web/Accessibility/ARIA - - details: closed - title: ARIA_guides + title: ARIA + - title: ARIA_guides + details: closed children: - /Web/Accessibility/ARIA/ARIA_Guides - /Web/Accessibility/ARIA/ARIA_Live_Regions @@ -44,14 +45,13 @@ sidebar: - /Web/Accessibility/ARIA/Multipart_labels - /Web/Accessibility/ARIA/How_to_file_ARIA-related_bugs - type: listSubPages - details: closed + path: /Web/Accessibility/ARIA/attributes title: ARIA states and properties - path: /en-US/docs/Web/Accessibility/ARIA/attributes - - type: listSubPages details: closed + - type: listSubPages + path: /Web/Accessibility/ARIA/roles title: ARIA roles - path: /en-US/docs/Web/Accessibility/ARIA/roles - + details: closed l10n: en-US: Accessibility: Accessibility diff --git a/files/sidebars/addonsidebar.yaml b/files/sidebars/addonsidebar.yaml index fce859c50371599..74d1c63cb4120d0 100644 --- a/files/sidebars/addonsidebar.yaml +++ b/files/sidebars/addonsidebar.yaml @@ -1,8 +1,10 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Mozilla/Add-ons/WebExtensions - - details: closed - title: WebExtensions#Getting_started + - title: WebExtensions#Getting_started + details: closed children: - /Mozilla/Add-ons/WebExtensions/What_are_WebExtensions - /Mozilla/Add-ons/WebExtensions/Your_first_WebExtension @@ -10,8 +12,8 @@ sidebar: - /Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension - /Mozilla/Add-ons/WebExtensions/Examples - /Mozilla/Add-ons/WebExtensions/What_next - - details: closed - title: WebExtensions#Concepts + - title: WebExtensions#Concepts + details: closed children: - /Mozilla/Add-ons/WebExtensions/API - /Mozilla/Add-ons/WebExtensions/Content_scripts @@ -23,8 +25,8 @@ sidebar: - /Mozilla/Add-ons/WebExtensions/Native_messaging - /Mozilla/Add-ons/WebExtensions/Differences_between_API_implementations - /Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities - - details: closed - title: WebExtensions#User_Interface + - title: WebExtensions#User_Interface + details: closed children: - /Mozilla/Add-ons/WebExtensions/user_interface - /Mozilla/Add-ons/WebExtensions/user_interface/Toolbar_button @@ -36,8 +38,8 @@ sidebar: - /Mozilla/Add-ons/WebExtensions/user_interface/Notifications - /Mozilla/Add-ons/WebExtensions/user_interface/Omnibox - /Mozilla/Add-ons/WebExtensions/user_interface/devtools_panels - - details: closed - title: WebExtensions#How_to + - title: WebExtensions#How_to + details: closed children: - /Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests - /Mozilla/Add-ons/WebExtensions/Modify_a_web_page @@ -55,11 +57,11 @@ sidebar: - type: webExtApi title: WebExtensions#API - type: listSubPages + path: /Mozilla/Add-ons/WebExtensions/manifest.json title: WebExtensions#manifest.json details: closed - path: /en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json - - details: closed - title: extension_workshop + - title: extension_workshop + details: closed children: - link: https://extensionworkshop.com/documentation/develop/ title: extension_workshop_develop @@ -71,8 +73,8 @@ sidebar: title: extension_workshop_enterprise - type: section link: /Mozilla/Add-ons/Contact_us - - details: closed - title: Channels + - title: Channels + details: closed children: - link: https://blog.mozilla.org/addons title: Blog @@ -80,7 +82,6 @@ sidebar: title: Forums - link: https://chat.mozilla.org/#/room/%23addons:mozilla.org title: Chat - l10n: en-US: WebExtensions#Getting_started: Getting started diff --git a/files/sidebars/addonsidebarmain.yaml b/files/sidebars/addonsidebarmain.yaml index 7e687769338ae6e..9209d5761e21f27 100644 --- a/files/sidebars/addonsidebarmain.yaml +++ b/files/sidebars/addonsidebarmain.yaml @@ -1,16 +1,16 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Mozilla/Add-ons/WebExtensions - text: WebExtensions - type: section link: https://extensionworkshop.com/documentation/themes/ title: Themes - type: section link: https://discourse.mozilla.org/c/add-ons title: Community_and_Support - - - details: closed - title: Channels + - title: Channels + details: closed children: - link: https://blog.mozilla.org/addons title: Blog @@ -19,9 +19,8 @@ sidebar: - link: https://stackoverflow.com/questions/tagged/firefox-addon title: Stack_Overflow - link: /Mozilla/Add-ons - title: Contact_us hash: "#contact_us" - + title: Contact_us l10n: en-US: WebExtensions: Browser extensions diff --git a/files/sidebars/cssref.yaml b/files/sidebars/cssref.yaml index 475748e2588f886..10194fd5832e589 100644 --- a/files/sidebars/cssref.yaml +++ b/files/sidebars/cssref.yaml @@ -1,3 +1,5 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/CSS @@ -6,8 +8,8 @@ sidebar: link: /Learn/CSS title: Tutorials - /Learn/Getting_started_with_the_web/CSS_basics - - details: closed - title: CSS_first_steps + - title: CSS_first_steps + details: closed children: - link: /Learn/CSS/First_steps title: CSS first steps overview @@ -17,8 +19,8 @@ sidebar: - /Learn/CSS/First_steps/How_CSS_works - link: /Learn/CSS/First_steps/styling_a_biography_page title: Assessment_Styling_a_biography_page - - details: closed - title: CSS_building_blocks + - title: CSS_building_blocks + details: closed children: - link: /Learn/CSS/Building_blocks title: CSS building blocks overview @@ -45,8 +47,8 @@ sidebar: title: Assessment_Creating_fancy_letterheaded_paper - link: /Learn/CSS/Building_blocks/A_cool_looking_box title: Assessment_A_cool_looking_box - - details: closed - title: Styling_text + - title: Styling_text + details: closed children: - link: /Learn/CSS/Styling_text title: Styling_text_overview @@ -56,8 +58,8 @@ sidebar: - /Learn/CSS/Styling_text/Web_fonts - link: /Learn/CSS/Styling_text/Typesetting_a_homepage title: Assessment_Typesetting_a_community_school_homepage - - details: closed - title: CSS_layout + - title: CSS_layout + details: closed children: - link: /Learn/CSS/CSS_layout title: CSS_layout_overview @@ -77,79 +79,79 @@ sidebar: - type: section link: /Web/CSS/Reference - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Modules tags: css-module details: closed - type: listSubPagesGrouped - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Properties tags: - css-property - css-shorthand-property details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Selectors tags: css-selector details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Combinators tags: css-combinator details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Pseudo-classes tags: css-pseudo-class details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Pseudo-elements tags: css-pseudo-element details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: At-rules tags: css-at-rule details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Functions tags: css-function details: closed - type: listSubPages - path: /en-US/docs/Web/CSS + path: /Web/CSS title: Types tags: css-type details: closed - type: section title: Guides - - details: closed - title: Animations + - title: Animations + details: closed children: - /Web/CSS/CSS_Animations/Using_CSS_animations - - details: closed - title: Backgrounds_and_Borders + - title: Backgrounds_and_Borders + details: closed children: - /Web/CSS/CSS_Backgrounds_and_Borders/Using_multiple_backgrounds - link: /Web/CSS/CSS_Backgrounds_and_Borders/Resizing_background_images title: Resizing_background_images - - details: closed - title: Box alignment + - title: Box alignment + details: closed children: - link: /Web/CSS/CSS_Box_Alignment/Box_Alignment_In_Block_Abspos_Tables title: Box_alignment_in_block_layout - /Web/CSS/CSS_Box_Alignment/Box_Alignment_in_Flexbox - /Web/CSS/CSS_Box_Alignment/Box_Alignment_In_Grid_Layout - /Web/CSS/CSS_Box_Alignment/Box_Alignment_in_Multi-column_Layout - - details: closed - title: Box_model + - title: Box_model + details: closed children: - /Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model - /Web/CSS/CSS_Box_Model/Mastering_margin_collapsing - - details: closed - title: Colors + - title: Colors + details: closed children: - link: /Web/CSS/CSS_colors/Applying_color title: Applying_color_to_HTML_elements @@ -160,30 +162,30 @@ sidebar: title: Accessibility_Understanding_colors_and_luminance" - link: /Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast title: Color_contrast - - details: closed - title: Columns + - title: Columns + details: closed children: - /Web/CSS/CSS_Multicol_Layout/Basic_concepts - /Web/CSS/CSS_Multicol_Layout/Styling_columns - /Web/CSS/CSS_Multicol_Layout/Spanning_balancing_columns - /Web/CSS/CSS_Multicol_Layout/Handling_overflow_in_multicol_layout - /Web/CSS/CSS_Multicol_Layout/Handling_content_breaks_in_multicol_layout - - details: closed - title: Conditional_rules + - title: Conditional_rules + details: closed children: - /Web/CSS/CSS_Conditional_Rules/Using_Feature_Queries - - details: closed - title: Containment + - title: Containment + details: closed children: - /Web/CSS/CSS_Containment/Using_CSS_containment - /Web/CSS/CSS_Containment/Container_queries - /Web/CSS/CSS_Containment/Container_size_and_style_queries - - details: closed - title: CSSOM_view + - title: CSSOM_view + details: closed children: - /Web/CSS/CSSOM_View/Coordinate_systems - - details: closed - title: Flexbox + - title: Flexbox + details: closed children: - /Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox - /Web/CSS/CSS_Flexible_Box_Layout/Relationship_of_Flexbox_to_Other_Layout_Methods @@ -192,21 +194,21 @@ sidebar: - /Web/CSS/CSS_Flexible_Box_Layout/Controlling_ratios_of_flex_items_along_the_main_axis - /Web/CSS/CSS_Flexible_Box_Layout/Mastering_Wrapping_of_Flex_Items - /Web/CSS/CSS_Flexible_Box_Layout/Typical_Use_Cases_of_Flexbox - - details: closed - title: Flow_layout + - title: Flow_layout + details: closed children: - /Web/CSS/CSS_Flow_Layout/Block_and_Inline_Layout_in_Normal_Flow - /Web/CSS/CSS_Flow_Layout/In_Flow_and_Out_of_Flow - /Web/CSS/CSS_Flow_Layout/Introduction_to_formatting_contexts - /Web/CSS/CSS_Flow_Layout/Flow_Layout_and_Writing_Modes - /Web/CSS/CSS_Flow_Layout/Flow_Layout_and_Overflow - - details: closed - title: Fonts + - title: Fonts + details: closed children: - /Web/CSS/CSS_Fonts/OpenType_fonts_guide - /Web/CSS/CSS_Fonts/Variable_Fonts_Guide - - details: closed - title: Grid + - title: Grid + details: closed children: - /Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout - /Web/CSS/CSS_Grid_Layout/Relationship_of_grid_layout_with_other_layout_methods @@ -221,65 +223,64 @@ sidebar: - /Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_grids - /Web/CSS/CSS_Grid_Layout/Subgrid - /Web/CSS/CSS_Grid_Layout/Masonry_Layout - - details: closed - title: Images + - title: Images + details: closed children: - /Web/CSS/CSS_Images/Using_CSS_gradients - - details: closed - title: Lists_and_counters + - title: Lists_and_counters + details: closed children: - /Web/CSS/CSS_Counter_Styles/Using_CSS_counters - /Web/CSS/CSS_Lists/Consistent_list_indentation - - details: closed - title: Logical_properties + - title: Logical_properties + details: closed children: - - >- - /Web/CSS/CSS_Logical_Properties_and_Values/Basic_concepts_of_logical_properties_and_values + - /Web/CSS/CSS_Logical_Properties_and_Values/Basic_concepts_of_logical_properties_and_values - /Web/CSS/CSS_Logical_Properties_and_Values/Floating_and_positioning - /Web/CSS/CSS_Logical_Properties_and_Values/Margins_borders_padding - /Web/CSS/CSS_Logical_Properties_and_Values/Sizing - - details: closed - title: Math_functions + - title: Math_functions + details: closed children: - /Web/CSS/CSS_Functions/Using_CSS_math_functions - - details: closed - title: Media_queries + - title: Media_queries + details: closed children: - /Web/CSS/CSS_Media_Queries/Using_media_queries - /Web/CSS/CSS_Media_Queries/Using_Media_Queries_for_Accessibility - /Web/CSS/CSS_Media_Queries/Testing_media_queries - /Web/CSS/CSS_Media_Queries/Printing - - details: closed - title: Nesting + - title: Nesting + details: closed children: - /Web/CSS/CSS_Nesting/Using_CSS_nesting - /Web/CSS/CSS_Nesting/Nesting_at-rules - /Web/CSS/CSS_Nesting/Nesting_and_specificity - - details: closed - title: Positioning + - title: Positioning + details: closed children: - /Web/CSS/CSS_Positioned_Layout/Understanding_z-index - - details: closed - title: Scroll_snap + - title: Scroll_snap + details: closed children: - /Web/CSS/CSS_Scroll_Snap/Basic_concepts - - details: closed - title: Shapes + - title: Shapes + details: closed children: - /Web/CSS/CSS_Shapes/Overview_of_Shapes - /Web/CSS/CSS_Shapes/From_box_values - /Web/CSS/CSS_Shapes/Basic_Shapes - /Web/CSS/CSS_Shapes/Shapes_From_Images - - details: closed - title: Text + - title: Text + details: closed children: - /Web/CSS/CSS_Text/Wrapping_Breaking_Text - - details: closed - title: Transforms + - title: Transforms + details: closed children: - /Web/CSS/CSS_Transforms/Using_CSS_transforms - - details: closed - title: Transitions + - title: Transitions + details: closed children: - /Web/CSS/CSS_Transitions/Using_CSS_transitions - type: section diff --git a/files/sidebars/firefoxsidebar.yaml b/files/sidebars/firefoxsidebar.yaml index 8c091adf5030b78..ee0bbc3804d1fc5 100644 --- a/files/sidebars/firefoxsidebar.yaml +++ b/files/sidebars/firefoxsidebar.yaml @@ -1,23 +1,22 @@ +# Do not add comments to this file. They will be lost. + sidebar: - - details: closed - title: Firefox_releases + - title: Firefox_releases + details: closed children: - link: /Mozilla/Firefox/Releases title: Firefox_release_notes_developer - link: /Mozilla/Firefox/Experimental_features title: Experimental_features_firefox - - - details: closed - title: Add-ons + - title: Add-ons + details: closed children: - link: /Mozilla/Add-ons/WebExtensions title: Browser_extensions - link: https://extensionworkshop.com/documentation/themes title: Themes - - link: https://firefox-source-docs.mozilla.org/ title: Firefox_documentation - l10n: en-US: Firefox_releases: Firefox releases @@ -29,7 +28,7 @@ l10n: Firefox_documentation: Firefox documentation es: Firefox_releases: Lanzamientos de Firefox - Firefox_release_notes_developer: "Notas de lanzamiento de Firefox, para desarrolladores" + Firefox_release_notes_developer: Notas de lanzamiento de Firefox, para desarrolladores Experimental_features_firefox: Caracteristicas experimentales en Firefox Add-ons: Complementos Browser_extensions: Extensiones del navegador diff --git a/files/sidebars/gamessidebar.yaml b/files/sidebars/gamessidebar.yaml index 1a946c0facbb4cc..a4b0ebe131fa3ef 100644 --- a/files/sidebars/gamessidebar.yaml +++ b/files/sidebars/gamessidebar.yaml @@ -1,3 +1,5 @@ +# Do not add comments to this file. They will be lost. + sidebar: - title: Introduction details: closed @@ -6,7 +8,6 @@ sidebar: title: Introduction - link: /Games/Anatomy title: Anatomy - - title: APIs_for_game_development details: closed children: @@ -42,7 +43,6 @@ sidebar: title: Web_Workers - link: /Web/API/XMLHttpRequest title: XMLHttpRequest - - title: Techniques details: closed children: @@ -58,7 +58,6 @@ sidebar: title: 2D_collision_detection - link: /Games/Techniques/Tilemaps title: Tiles_and_tilemaps_overview - - title: 3D_games_on_the_Web details: closed children: @@ -80,7 +79,6 @@ sidebar: title: 3D_collision_detection - link: /Games/Techniques/3D_collision_detection/Bounding_volume_collision_detection_with_THREE.js title: Bounding_volume_collision_detection_with_THREE.js - - title: Implementing_game_control_mechanisms details: closed children: @@ -94,7 +92,6 @@ sidebar: title: Desktop_with_gamepad - link: /Games/Techniques/Control_mechanisms/Other title: Other - - title: Tutorials details: closed children: @@ -106,7 +103,6 @@ sidebar: title: 2D_maze_game_with_device_orientation - link: https://mozdevs.github.io/html5-games-workshop/en/guides/platformer/start-here/ title: 2D_platform_game_using_Phaser - - title: Publishing_games details: closed children: @@ -118,7 +114,6 @@ sidebar: title: Game_promotion - link: /Games/Publishing_games/Game_monetization title: Game_monetization - l10n: en-US: Introduction: Introduction diff --git a/files/sidebars/glossarysidebar.yaml b/files/sidebars/glossarysidebar.yaml index 5dda7f23898ccc6..0b0116f6d3563da 100644 --- a/files/sidebars/glossarysidebar.yaml +++ b/files/sidebars/glossarysidebar.yaml @@ -1,6 +1,8 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Glossary title: Glossary - type: listSubPages - path: /en-US/docs/Glossary + path: /Glossary diff --git a/files/sidebars/htmlsidebar.yaml b/files/sidebars/htmlsidebar.yaml index 528c50c78ead4df..d503f577b621d43 100644 --- a/files/sidebars/htmlsidebar.yaml +++ b/files/sidebars/htmlsidebar.yaml @@ -1,3 +1,5 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/HTML @@ -6,9 +8,8 @@ sidebar: title: Tutorials - link: /Learn/Getting_started_with_the_web/HTML_basics title: HTML_basics - - - details: closed - title: Introduction_to_HTML + - title: Introduction_to_HTML + details: closed children: - link: /Learn/HTML/Introduction_to_HTML title: Introduction_to_HTML_overview @@ -30,9 +31,8 @@ sidebar: title: Assessment_Marking_up_a_letter - link: /Learn/HTML/Introduction_to_HTML/Structuring_a_page_of_content title: Assessment_Structuring_a_page_of_content - - - details: closed - title: Multimedia_and_embedding + - title: Multimedia_and_embedding + details: closed children: - link: /Learn/HTML/Multimedia_and_embedding title: Multimedia_and_embedding_overview @@ -48,9 +48,8 @@ sidebar: title: Responsive_images - link: /Learn/HTML/Multimedia_and_embedding/Mozilla_splash_page title: Assessment_Mozilla_splash_page - - - details: closed - title: HTML_tables + - title: HTML_tables + details: closed children: - link: /Learn/HTML/Tables title: HTML_tables_overview @@ -60,34 +59,27 @@ sidebar: title: HTML_table_advanced_features_and_accessibility - link: /Learn/HTML/Tables/Structuring_planet_data title: Assessment_Structuring_planet_data - - type: section link: /Web/HTML/Reference title: Reference - - type: listSubPages - details: closed + path: /Web/HTML/Element title: HTML_Elements - path: /en-US/docs/Web/HTML/Element - - - type: listSubPages details: closed - title: Global_attributes - path: /en-US/docs/Web/HTML/Global_attributes - - type: listSubPages + path: /Web/HTML/Global_attributes + title: Global_attributes details: closed - title: Attributes - path: /en-US/docs/Web/HTML/Attributes - - type: listSubPages + path: /Web/HTML/Attributes + title: Attributes details: closed + - type: listSubPages + path: /Web/HTML/Element/input title: Input_types - path: /en-US/docs/Web/HTML/Element/input - + details: closed - type: section title: Guides - - children: - link: /Web/HTML/Content_categories title: Content_categories @@ -109,7 +101,6 @@ sidebar: title: Viewport_meta_tag - link: /Web/HTML/CORS_enabled_image title: Allowing_cross-origin_images_and_canvas - l10n: en-US: Tutorials: Tutorials @@ -166,21 +157,21 @@ l10n: Advanced_text_formatting: Formatage avancé du texte Document_and_website_structure: Structure d'un site et d'un document web Debugging_HTML: Déboguer du HTML - Assessment_Marking_up_a_letter: "Évaluation\_: baliser une lettre" - Assessment_Structuring_a_page_of_content: "Évaluation\_: structurer une page de contenu" + Assessment_Marking_up_a_letter: "Évaluation : baliser une lettre" + Assessment_Structuring_a_page_of_content: "Évaluation : structurer une page de contenu" Multimedia_and_embedding: Multimédia et intégration Multimedia_and_embedding_overview: Aperçu pour le multimédia et l'intégration Images_in_HTML: Images en HTML Video_and_audio_content: Contenu audio et vidéo - From_object_to_iframe_other_embedding_technologies: "Des objets aux iframes, les autres technologies d'intégration" + From_object_to_iframe_other_embedding_technologies: Des objets aux iframes, les autres technologies d'intégration Adding_vector_graphics_to_the_web: Ajouter des graphiques vectoriels sur le Web Responsive_images: Images responsives - Assessment_Mozilla_splash_page: "Évaluation\_: page d'accueil Mozilla" + Assessment_Mozilla_splash_page: "Évaluation : page d'accueil Mozilla" HTML_tables: Tableaux HTML HTML_tables_overview: Aperçu des tableaux HTML HTML_table_basics: Bases des tableaux HTML HTML_table_advanced_features_and_accessibility: Fonctionnalités avancées et accessibilité des tableaux HTML - Assessment_Structuring_planet_data: "Évaluation\_: structurer les données des planètes" + Assessment_Structuring_planet_data: "Évaluation : structurer les données des planètes" Reference: Références HTML_Elements: Éléments HTML Global_attributes: Attributs universels @@ -195,9 +186,7 @@ l10n: Microdata: Microdonnées microformats: Microformats Quirks_Mode_and_Standards_Mode: Mode quirks et mode standard - Viewport_meta_tag: >- - Utilisation de la balise meta viewport pour contrôler la mise en page sur - mobile + Viewport_meta_tag: Utilisation de la balise meta viewport pour contrôler la mise en page sur mobile ja: Tutorials: チュートリアル HTML_basics: HTML の基本 diff --git a/files/sidebars/httpsidebar.yaml b/files/sidebars/httpsidebar.yaml index 344764be1867832..0fcf158711bd206 100644 --- a/files/sidebars/httpsidebar.yaml +++ b/files/sidebars/httpsidebar.yaml @@ -1,3 +1,5 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/HTTP @@ -20,8 +22,8 @@ sidebar: - /Web/HTTP/Protocol_upgrade_mechanism - /Web/HTTP/Proxy_servers_and_tunneling - /Web/HTTP/Client_hints - - details: closed - title: Security + - title: Security + details: closed children: - /Web/Security/Practical_implementation_guides - link: /en-US/observatory @@ -33,39 +35,31 @@ sidebar: - /Web/HTTP/Headers - type: section title: Reference - - type: listSubPages - details: closed + path: /Web/HTTP/Headers title: Headers - path: /en-US/docs/Web/HTTP/Headers - - - type: listSubPages details: closed - title: Methods - path: /en-US/docs/Web/HTTP/Methods - - type: listSubPages + path: /Web/HTTP/Methods + title: Methods details: closed - title: Status - path: /en-US/docs/Web/HTTP/Status - - type: listSubPages + path: /Web/HTTP/Status + title: Status details: closed - title: CSPDirectives - path: /en-US/docs/Web/HTTP/Headers/Content-Security-Policy - - type: listSubPages + path: /Web/HTTP/Headers/Content-Security-Policy + title: CSPDirectives details: closed - title: CORS_errors - path: /en-US/docs/Web/HTTP/CORS/Errors - - type: listSubPages + path: /Web/HTTP/CORS/Errors + title: CORS_errors details: closed + - type: listSubPages + path: /Web/HTTP/Headers/Permissions-Policy title: PermissionsPolicyDirectives - path: /en-US/docs/Web/HTTP/Headers/Permissions-Policy - + details: closed - /Web/HTTP/Resources_and_specifications - l10n: en-US: CORS_errors: CORS errors @@ -137,4 +131,3 @@ l10n: Reference: 参考: Security: HTTP 安全 Status: HTTP 响应状态码 - diff --git a/files/sidebars/jssidebar.yaml b/files/sidebars/jssidebar.yaml index ec3079eb5e97788..bfb4d00a7436f3b 100644 --- a/files/sidebars/jssidebar.yaml +++ b/files/sidebars/jssidebar.yaml @@ -1,12 +1,13 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/JavaScript title: JavaScript - type: section title: Tutorials - - - details: closed - title: Complete_beginners + - title: Complete_beginners + details: closed children: - link: /Learn/Getting_started_with_the_web/JavaScript_basics title: Basics @@ -16,9 +17,8 @@ sidebar: title: Building_blocks - link: /Learn/JavaScript/Objects title: Introducing_objects - - - details: closed - title: Guide + - title: Guide + details: closed children: - link: /Web/JavaScript/Guide/Introduction title: Guide_Introduction @@ -56,9 +56,8 @@ sidebar: title: Guide_Meta - link: /Web/JavaScript/Guide/Modules title: Guide_Modules - - - details: closed - title: Intermediate + - title: Intermediate + details: closed children: - link: /Learn/Tools_and_testing/Client-side_JavaScript_frameworks title: Frameworks @@ -74,9 +73,8 @@ sidebar: title: Enumerability - link: /Web/JavaScript/Closures title: Closures - - - details: closed - title: Advanced + - title: Advanced + details: closed children: - link: /Web/JavaScript/Inheritance_and_the_prototype_chain title: Inheritance @@ -84,55 +82,46 @@ sidebar: title: Memory_management - link: /Web/JavaScript/Event_loop title: Event_loop - - type: section link: /Web/JavaScript/Reference title: Reference - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Global_Objects title: Global_Objects + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Global_Objects - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Operators title: Operators + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Operators - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Statements title: Statements + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Statements - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Functions title: Functions + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Functions - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Classes title: Classes + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Classes - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Regular_expressions title: Guide_RegExp + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Regular_expressions - - type: listSubPages - details: closed + path: /Web/JavaScript/Reference/Errors title: Errors + details: closed includeParent: true - path: /en-US/docs/Web/JavaScript/Reference/Errors - - - details: closed - title: More + - title: More + details: closed children: - link: /Web/JavaScript/JavaScript_technologies_overview title: Overview @@ -148,7 +137,6 @@ sidebar: title: Trailing_commas - link: /Web/JavaScript/Reference/Deprecated_and_obsolete_features title: Deprecated_features - l10n: en-US: Overview: JavaScript technologies overview diff --git a/files/sidebars/learnsidebar.yaml b/files/sidebars/learnsidebar.yaml index 583c19f3bc3142f..f2fec503e2e841e 100644 --- a/files/sidebars/learnsidebar.yaml +++ b/files/sidebars/learnsidebar.yaml @@ -1,7 +1,9 @@ +# Do not add comments to this file. They will be lost. + sidebar: - - title: Complete_beginners_start_here + - type: section link: Getting_started_with_the_web - type: section + title: Complete_beginners_start_here - title: Getting_started_with_the_web details: closed children: @@ -14,9 +16,9 @@ sidebar: - /Learn/Getting_started_with_the_web/JavaScript_basics - /Learn/Getting_started_with_the_web/Publishing_your_website - /Learn/Getting_started_with_the_web/How_the_Web_works - - title: HTML_Structuring_the_web + - type: section link: HTML - type: section + title: HTML_Structuring_the_web - title: Introduction_to_HTML details: closed children: @@ -47,9 +49,9 @@ sidebar: - /Learn/HTML/Tables/Basics - /Learn/HTML/Tables/Advanced - /Learn/HTML/Tables/Structuring_planet_data - - title: CSS_Styling_the_web + - type: section link: CSS - type: section + title: CSS_Styling_the_web - title: CSS_first_steps details: closed children: @@ -109,9 +111,9 @@ sidebar: - /Learn/CSS/CSS_layout/Legacy_Layout_Methods - /Learn/CSS/CSS_layout/Supporting_Older_Browsers - /Learn/CSS/CSS_layout/Fundamental_Layout_Comprehension - - title: JavaScript_dynamic_client-side_scripting + - type: section link: JavaScript - type: section + title: JavaScript_dynamic_client-side_scripting - title: JavaScript_first_steps details: closed children: @@ -168,9 +170,9 @@ sidebar: - /Learn/JavaScript/Client-side_web_APIs/Drawing_graphics - /Learn/JavaScript/Client-side_web_APIs/Video_and_audio_APIs - /Learn/JavaScript/Client-side_web_APIs/Client-side_storage - - title: Web_forms + - type: section link: Forms - type: section + title: Web_forms - title: Web_forms_core details: closed children: @@ -192,9 +194,9 @@ sidebar: - /Learn/Forms/Sending_forms_through_JavaScript - /Learn/Forms/Property_compatibility_table_for_form_controls - /Learn/Forms/HTML_forms_in_legacy_browsers - - title: Accessibility_—_Make_the_web_usable_by_everyone + - type: section link: Accessibility - type: section + title: Accessibility_—_Make_the_web_usable_by_everyone - title: Accessibility_guides details: closed children: @@ -206,9 +208,9 @@ sidebar: - /Learn/Accessibility/Multimedia - /Learn/Accessibility/Mobile - /Learn/Accessibility/Accessibility_troubleshooting - - title: Performance + - type: section link: Performance - type: section + title: Performance - title: Performance_guides details: closed children: @@ -223,9 +225,9 @@ sidebar: - /Learn/Performance/HTML - /Learn/Performance/CSS - /Learn/Performance/business_case_for_performance - - title: MathML_Writing_mathematics + - type: section link: MathML - type: section + title: MathML_Writing_mathematics - title: MathML_first_steps details: closed children: @@ -236,9 +238,9 @@ sidebar: - /Learn/MathML/First_steps/Scripts - /Learn/MathML/First_steps/Tables - /Learn/MathML/First_steps/Three_famous_mathematical_formulas - - title: Games_Developing_for_web + - type: section link: /Games - type: section + title: Games_Developing_for_web - title: Guides_and_tutorials details: closed children: @@ -246,9 +248,9 @@ sidebar: - /Games/Techniques - /Games/Tutorials - /Games/Publishing_games - - title: Tools_and_testing + - type: section link: Tools_and_testing - type: section + title: Tools_and_testing - title: Client-side_web_development_tools details: closed children: @@ -330,9 +332,9 @@ sidebar: - /Learn/Tools_and_testing/Cross_browser_testing/Feature_detection - /Learn/Tools_and_testing/Cross_browser_testing/Automated_testing - /Learn/Tools_and_testing/Cross_browser_testing/Your_own_automation_environment - - title: Server-side_website_programming + - type: section link: Server-side - type: section + title: Server-side_website_programming - title: First_steps details: closed children: @@ -373,9 +375,9 @@ sidebar: - /Learn/Server-side/Express_Nodejs/Displaying_data - /Learn/Server-side/Express_Nodejs/forms - /Learn/Server-side/Express_Nodejs/deployment - - title: Further_resources + - type: section link: Common_questions - type: section + title: Further_resources - title: Common_questions details: closed children: @@ -386,346 +388,345 @@ sidebar: - /Learn/Common_questions/Web_mechanics - /Learn/Common_questions/Tools_and_setup - /Learn/Common_questions/Design_and_accessibility - l10n: en-US: - Complete_beginners_start_here: "Complete beginners start here!" - Getting_started_with_the_web: "Getting started with the web" - HTML_Structuring_the_web: "HTML — Structuring the web" - Introduction_to_HTML: "Introduction to HTML" - Multimedia_and_embedding: "Multimedia and embedding" - HTML_tables: "HTML tables" - CSS_Styling_the_web: "CSS — Styling the web" - CSS_first_steps: "CSS first steps" - CSS_building_blocks: "CSS building blocks" - Styling_text: "Styling text" - CSS_layout: "CSS layout" - JavaScript_dynamic_client-side_scripting: "JavaScript — Dynamic client-side scripting" - JavaScript_first_steps: "JavaScript first steps" - JavaScript_building_blocks: "JavaScript building blocks" - Introducing_JavaScript_objects: "Introducing JavaScript objects" - Asynchronous_JavaScript: "Asynchronous JavaScript" - Client-side_web_APIs: "Client-side web APIs" - Web_forms: "Web forms — Working with user data" - Web_forms_core: "Web form building blocks" - Web_forms_advanced: "Advanced web form techniques" - Accessibility_—_Make_the_web_usable_by_everyone: "Accessibility — Make the web usable by everyone" - Accessibility_guides: "Accessibility guides" - Accessibility_assessment: "Accessibility assessment" - Performance: "Performance — Making websites fast and responsive" - Performance_guides: "Performance guides" - MathML_Writing_mathematics: "MathML — Writing mathematics with MathML" - MathML_first_steps: "MathML first steps" - Games_Developing_for_web: "Games — Developing games for the web" - Guides_and_tutorials: "Guides and tutorials" - Tools_and_testing: "Tools and testing" - Cross_browser_testing: "Cross browser testing" - Git_and_GitHub: "Git and GitHub" - Client-side_web_development_tools: "Client-side web development tools" - Introduction_to_client-side_frameworks: "Introduction to client-side frameworks" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "Server-side website programming" - First_steps: "First steps" - Django_web_framework_(Python): "Django web framework (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Express Web Framework (Node.js/JavaScript)" - Further_resources: "Further resources" - Common_questions: "Common questions" + Complete_beginners_start_here: Complete beginners start here! + Getting_started_with_the_web: Getting started with the web + HTML_Structuring_the_web: HTML — Structuring the web + Introduction_to_HTML: Introduction to HTML + Multimedia_and_embedding: Multimedia and embedding + HTML_tables: HTML tables + CSS_Styling_the_web: CSS — Styling the web + CSS_first_steps: CSS first steps + CSS_building_blocks: CSS building blocks + Styling_text: Styling text + CSS_layout: CSS layout + JavaScript_dynamic_client-side_scripting: JavaScript — Dynamic client-side scripting + JavaScript_first_steps: JavaScript first steps + JavaScript_building_blocks: JavaScript building blocks + Introducing_JavaScript_objects: Introducing JavaScript objects + Asynchronous_JavaScript: Asynchronous JavaScript + Client-side_web_APIs: Client-side web APIs + Web_forms: Web forms — Working with user data + Web_forms_core: Web form building blocks + Web_forms_advanced: Advanced web form techniques + Accessibility_—_Make_the_web_usable_by_everyone: Accessibility — Make the web usable by everyone + Accessibility_guides: Accessibility guides + Accessibility_assessment: Accessibility assessment + Performance: Performance — Making websites fast and responsive + Performance_guides: Performance guides + MathML_Writing_mathematics: MathML — Writing mathematics with MathML + MathML_first_steps: MathML first steps + Games_Developing_for_web: Games — Developing games for the web + Guides_and_tutorials: Guides and tutorials + Tools_and_testing: Tools and testing + Cross_browser_testing: Cross browser testing + Git_and_GitHub: Git and GitHub + Client-side_web_development_tools: Client-side web development tools + Introduction_to_client-side_frameworks: Introduction to client-side frameworks + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: Server-side website programming + First_steps: First steps + Django_web_framework_(Python): Django web framework (Python) + Express_Web_Framework_(Node.js_JavaScript): Express Web Framework (Node.js/JavaScript) + Further_resources: Further resources + Common_questions: Common questions pt-BR: - Complete_beginners_start_here: "Completos iniciantes, comecem por aqui!" - Getting_started_with_the_web: "Iniciando na Internet" - HTML_Structuring_the_web: "HTML — Estruturando a Web" - Introduction_to_HTML: "Introdução ao HTML" - Multimedia_and_embedding: "Multimídia e incorporação" - HTML_tables: "Tabelas HTML" - CSS_Styling_the_web: "CSS — Estilizando a Web" - CSS_first_steps: "CSS - primeiros passos" - CSS_building_blocks: "CSS building blocks" - Styling_text: "Estilização de textos" - CSS_layout: "Esquemas CSS" - JavaScript_dynamic_client-side_scripting: "JavaScript — Uma linguagem de script dinâmica para aplicações cliente" - JavaScript_first_steps: "Primeiros passos com JavaScript" - JavaScript_building_blocks: "Programando em JavaScript" - Introducing_JavaScript_objects: "Introdução Objetos em JavaScript" - Asynchronous_JavaScript: "Asynchronous JavaScript" - Client-side_web_APIs: "APIs Web na aplicação Cliente" - Web_forms: "Web forms — Working with user data" - Web_forms_core: "Web form building blocks" - Web_forms_advanced: "Advanced web form techniques" - Accessibility_—_Make_the_web_usable_by_everyone: "Acessibilidade — Faça a Internet usável por qualquer pessoa" - Accessibility_guides: "Guias de acessibilidade" - Accessibility_assessment: "Avaliando a acessibilidade" - Tools_and_testing: "Ferramentas e teste" - Cross_browser_testing: "Testes entre navegadores" - Git_and_GitHub: "Git and GitHub" - Client-side_web_development_tools: "Client-side web development tools" - Introduction_to_client-side_frameworks: "Introduction to client-side frameworks" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Server-side_website_programming: "Programação de servidores de Aplicação" - First_steps: "Primeiros passos" - Django_web_framework_(Python): "Framework Web Django (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Framework Web Express (Node.js/JavaScript)" - Further_resources: "Mais recursos" - Common_questions: "Questões gerais" + Complete_beginners_start_here: Completos iniciantes, comecem por aqui! + Getting_started_with_the_web: Iniciando na Internet + HTML_Structuring_the_web: HTML — Estruturando a Web + Introduction_to_HTML: Introdução ao HTML + Multimedia_and_embedding: Multimídia e incorporação + HTML_tables: Tabelas HTML + CSS_Styling_the_web: CSS — Estilizando a Web + CSS_first_steps: CSS - primeiros passos + CSS_building_blocks: CSS building blocks + Styling_text: Estilização de textos + CSS_layout: Esquemas CSS + JavaScript_dynamic_client-side_scripting: JavaScript — Uma linguagem de script dinâmica para aplicações cliente + JavaScript_first_steps: Primeiros passos com JavaScript + JavaScript_building_blocks: Programando em JavaScript + Introducing_JavaScript_objects: Introdução Objetos em JavaScript + Asynchronous_JavaScript: Asynchronous JavaScript + Client-side_web_APIs: APIs Web na aplicação Cliente + Web_forms: Web forms — Working with user data + Web_forms_core: Web form building blocks + Web_forms_advanced: Advanced web form techniques + Accessibility_—_Make_the_web_usable_by_everyone: Acessibilidade — Faça a Internet usável por qualquer pessoa + Accessibility_guides: Guias de acessibilidade + Accessibility_assessment: Avaliando a acessibilidade + Tools_and_testing: Ferramentas e teste + Cross_browser_testing: Testes entre navegadores + Git_and_GitHub: Git and GitHub + Client-side_web_development_tools: Client-side web development tools + Introduction_to_client-side_frameworks: Introduction to client-side frameworks + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Server-side_website_programming: Programação de servidores de Aplicação + First_steps: Primeiros passos + Django_web_framework_(Python): Framework Web Django (Python) + Express_Web_Framework_(Node.js_JavaScript): Framework Web Express (Node.js/JavaScript) + Further_resources: Mais recursos + Common_questions: Questões gerais ru: - Complete_beginners_start_here: "Новички начинают здесь!" - Getting_started_with_the_web: "Начало работы с Вебом" - HTML_Structuring_the_web: "HTML — структура Веба" - Introduction_to_HTML: "Введение в HTML" - Multimedia_and_embedding: "Мультимедиа и встраивание" - HTML_tables: "HTML таблицы" - CSS_Styling_the_web: "CSS — стилизирование Веба" - CSS_first_steps: "Введение в CSS" - CSS_building_blocks: "Устройство CSS" - Styling_text: "Стилизирование текста" - CSS_layout: "CSS макет" - JavaScript_dynamic_client-side_scripting: "JavaScript — динамический клиентский скриптинг" - JavaScript_first_steps: "Первые шаги в JavaScript" - JavaScript_building_blocks: "Блоки в JavaScript" - Introducing_JavaScript_objects: "Введение в объекты JavaScript" - Asynchronous_JavaScript: "Асинхронный JavaScript" - Client-side_web_APIs: "Клиентский веб API" - Web_forms: "HTML-формы — работа с пользовательскими данными" - Web_forms_core: "Руководство по HTML-формам" - Web_forms_advanced: "Advanced web form techniques" - Accessibility_—_Make_the_web_usable_by_everyone: "Доступность — сделайте веб удобным для всех" - Accessibility_guides: "Руководства по обеспечению доступности" + Complete_beginners_start_here: Новички начинают здесь! + Getting_started_with_the_web: Начало работы с Вебом + HTML_Structuring_the_web: HTML — структура Веба + Introduction_to_HTML: Введение в HTML + Multimedia_and_embedding: Мультимедиа и встраивание + HTML_tables: HTML таблицы + CSS_Styling_the_web: CSS — стилизирование Веба + CSS_first_steps: Введение в CSS + CSS_building_blocks: Устройство CSS + Styling_text: Стилизирование текста + CSS_layout: CSS макет + JavaScript_dynamic_client-side_scripting: JavaScript — динамический клиентский скриптинг + JavaScript_first_steps: Первые шаги в JavaScript + JavaScript_building_blocks: Блоки в JavaScript + Introducing_JavaScript_objects: Введение в объекты JavaScript + Asynchronous_JavaScript: Асинхронный JavaScript + Client-side_web_APIs: Клиентский веб API + Web_forms: HTML-формы — работа с пользовательскими данными + Web_forms_core: Руководство по HTML-формам + Web_forms_advanced: Advanced web form techniques + Accessibility_—_Make_the_web_usable_by_everyone: Доступность — сделайте веб удобным для всех + Accessibility_guides: Руководства по обеспечению доступности Accessibility_assessment: "Задание: Доступность" - Tools_and_testing: "Инструменты и тестирование" - Cross_browser_testing: "Кроссбраузерное тестирование" - Git_and_GitHub: "Git и GitHub" - Client-side_web_development_tools: "Client-side web development tools" - Introduction_to_client-side_frameworks: "Introduction to client-side frameworks" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "Программирование серверной части сайта" - First_steps: "Первые шаги" - Django_web_framework_(Python): "Веб-фреймворк Django (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Веб-фреймворк Express (Node.js/JavaScript)" - Further_resources: "Дальнейшее чтение" - Common_questions: "Общие вопросы" + Tools_and_testing: Инструменты и тестирование + Cross_browser_testing: Кроссбраузерное тестирование + Git_and_GitHub: Git и GitHub + Client-side_web_development_tools: Client-side web development tools + Introduction_to_client-side_frameworks: Introduction to client-side frameworks + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: Программирование серверной части сайта + First_steps: Первые шаги + Django_web_framework_(Python): Веб-фреймворк Django (Python) + Express_Web_Framework_(Node.js_JavaScript): Веб-фреймворк Express (Node.js/JavaScript) + Further_resources: Дальнейшее чтение + Common_questions: Общие вопросы zh-CN: - Complete_beginners_start_here: "新手请从这开始!" - Getting_started_with_the_web: "Web 入门" - HTML_Structuring_the_web: "HTML——构建 Web" - Introduction_to_HTML: "HTML 介绍" - Multimedia_and_embedding: "多媒体与嵌入" - HTML_tables: "HTML 表格" - CSS_Styling_the_web: "CSS——设计 Web" - CSS_first_steps: "CSS 第一步" - CSS_building_blocks: "CSS 基础" - Styling_text: "样式化文本" - CSS_layout: "CSS 排版" - JavaScript_dynamic_client-side_scripting: "JavaScript——用户端动态脚本" - JavaScript_first_steps: "JavaScript 第一步" - JavaScript_building_blocks: "JavaScript 基础" - Introducing_JavaScript_objects: "JavaScript 对象介绍" - Asynchronous_JavaScript: "异步 JavaScript" - Client-side_web_APIs: "客户端 Web API" - Web_forms: "Web 表单——与用户数据打交道" - Web_forms_core: "Web 表单核心" - Web_forms_advanced: "Web 表单进阶" - Accessibility_—_Make_the_web_usable_by_everyone: "无障碍——使每个人都能使用 Web" - Accessibility_guides: "无障碍指南" - Accessibility_assessment: "无障碍测评" - Performance: "性能——使网站快速响应" - Performance_guides: "性能指南" - MathML_Writing_mathematics: "MathML——使用 MathML 语言撰写数学表达式" - MathML_first_steps: "MathML 第一步" - Games_Developing_for_web: "游戏——开发 Web 游戏" - Guides_and_tutorials: "指南和基础教程" - Tools_and_testing: "工具与测试" - Cross_browser_testing: "跨浏览器测试" - Git_and_GitHub: "Git 和 GitHub" - Client-side_web_development_tools: "客户端 web 开发工具" - Introduction_to_client-side_frameworks: "客户端框架介绍" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "服务端网页编程" - First_steps: "第一步" - Django_web_framework_(Python): "Django Web 框架(Python)" - Express_Web_Framework_(Node.js_JavaScript): "Express Web 框架(Node.js/JavaScript)" - Further_resources: "更多资源" - Common_questions: "常见问题" + Complete_beginners_start_here: 新手请从这开始! + Getting_started_with_the_web: Web 入门 + HTML_Structuring_the_web: HTML——构建 Web + Introduction_to_HTML: HTML 介绍 + Multimedia_and_embedding: 多媒体与嵌入 + HTML_tables: HTML 表格 + CSS_Styling_the_web: CSS——设计 Web + CSS_first_steps: CSS 第一步 + CSS_building_blocks: CSS 基础 + Styling_text: 样式化文本 + CSS_layout: CSS 排版 + JavaScript_dynamic_client-side_scripting: JavaScript——用户端动态脚本 + JavaScript_first_steps: JavaScript 第一步 + JavaScript_building_blocks: JavaScript 基础 + Introducing_JavaScript_objects: JavaScript 对象介绍 + Asynchronous_JavaScript: 异步 JavaScript + Client-side_web_APIs: 客户端 Web API + Web_forms: Web 表单——与用户数据打交道 + Web_forms_core: Web 表单核心 + Web_forms_advanced: Web 表单进阶 + Accessibility_—_Make_the_web_usable_by_everyone: 无障碍——使每个人都能使用 Web + Accessibility_guides: 无障碍指南 + Accessibility_assessment: 无障碍测评 + Performance: 性能——使网站快速响应 + Performance_guides: 性能指南 + MathML_Writing_mathematics: MathML——使用 MathML 语言撰写数学表达式 + MathML_first_steps: MathML 第一步 + Games_Developing_for_web: 游戏——开发 Web 游戏 + Guides_and_tutorials: 指南和基础教程 + Tools_and_testing: 工具与测试 + Cross_browser_testing: 跨浏览器测试 + Git_and_GitHub: Git 和 GitHub + Client-side_web_development_tools: 客户端 web 开发工具 + Introduction_to_client-side_frameworks: 客户端框架介绍 + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: 服务端网页编程 + First_steps: 第一步 + Django_web_framework_(Python): Django Web 框架(Python) + Express_Web_Framework_(Node.js_JavaScript): Express Web 框架(Node.js/JavaScript) + Further_resources: 更多资源 + Common_questions: 常见问题 zh-TW: - Complete_beginners_start_here: "全新手請從這開始!" - Getting_started_with_the_web: "Web 入門" - HTML_Structuring_the_web: "HTML — 架構 Web" - Introduction_to_HTML: "HTML 介紹" - Multimedia_and_embedding: "多媒體與嵌入" - HTML_tables: "HTML 表格" - CSS_Styling_the_web: "CSS — 設計 Web 的風格" - CSS_first_steps: "初探 CSS" - CSS_building_blocks: "CSS 組件" - Styling_text: "樣式化文字" - CSS_layout: "CSS 版面配置" - JavaScript_dynamic_client-side_scripting: "JavaScript — 動態的用戶端指令" - JavaScript_first_steps: "JavaScript 第一步" - JavaScript_building_blocks: "JavaScript 基礎要件" - Introducing_JavaScript_objects: "JavaScript 物件介紹" - Asynchronous_JavaScript: "非同步的 JavaScript" - Client-side_web_APIs: "客戶端 web APIs" - Web_forms: "網頁表單-與使用者資料合作" - Web_forms_core: "核心的表單學習途徑" - Web_forms_advanced: "深入網頁表單" - Accessibility_—_Make_the_web_usable_by_everyone: "無障礙網頁 — 每個人都可以使用的網頁" - Accessibility_guides: "無障礙網頁指南" - Accessibility_assessment: "無障礙網頁評估" - Tools_and_testing: "工具與測試" - Cross_browser_testing: "跨瀏覽器測試" - Git_and_GitHub: "Git and GitHub" - Client-side_web_development_tools: "Client-side web development tools" - Introduction_to_client-side_frameworks: "介紹前端框架" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "伺服端網站程式設計" - First_steps: "第一步" - Django_web_framework_(Python): "Django 網站框架 (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Express 網站框架 (Node.js/JavaScript)" - Further_resources: "更多資源" - Common_questions: "常見問題" + Complete_beginners_start_here: 全新手請從這開始! + Getting_started_with_the_web: Web 入門 + HTML_Structuring_the_web: HTML — 架構 Web + Introduction_to_HTML: HTML 介紹 + Multimedia_and_embedding: 多媒體與嵌入 + HTML_tables: HTML 表格 + CSS_Styling_the_web: CSS — 設計 Web 的風格 + CSS_first_steps: 初探 CSS + CSS_building_blocks: CSS 組件 + Styling_text: 樣式化文字 + CSS_layout: CSS 版面配置 + JavaScript_dynamic_client-side_scripting: JavaScript — 動態的用戶端指令 + JavaScript_first_steps: JavaScript 第一步 + JavaScript_building_blocks: JavaScript 基礎要件 + Introducing_JavaScript_objects: JavaScript 物件介紹 + Asynchronous_JavaScript: 非同步的 JavaScript + Client-side_web_APIs: 客戶端 web APIs + Web_forms: 網頁表單-與使用者資料合作 + Web_forms_core: 核心的表單學習途徑 + Web_forms_advanced: 深入網頁表單 + Accessibility_—_Make_the_web_usable_by_everyone: 無障礙網頁 — 每個人都可以使用的網頁 + Accessibility_guides: 無障礙網頁指南 + Accessibility_assessment: 無障礙網頁評估 + Tools_and_testing: 工具與測試 + Cross_browser_testing: 跨瀏覽器測試 + Git_and_GitHub: Git and GitHub + Client-side_web_development_tools: Client-side web development tools + Introduction_to_client-side_frameworks: 介紹前端框架 + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: 伺服端網站程式設計 + First_steps: 第一步 + Django_web_framework_(Python): Django 網站框架 (Python) + Express_Web_Framework_(Node.js_JavaScript): Express 網站框架 (Node.js/JavaScript) + Further_resources: 更多資源 + Common_questions: 常見問題 fr: - Complete_beginners_start_here: "Vous débutez\xa0? Commencez ici\xa0!" - Getting_started_with_the_web: "Démarrer avec le Web" - HTML_Structuring_the_web: "HTML — Structurer le Web" - Introduction_to_HTML: "Introduction à HTML" - Multimedia_and_embedding: "Multimédia et contenu embarqué" - HTML_tables: "Tableaux HTML" - CSS_Styling_the_web: "CSS — Mettre en forme le Web" - CSS_first_steps: "Premiers pas en CSS" - CSS_building_blocks: "Blocs de construction CSS" - Styling_text: "Mise en forme du texte" - CSS_layout: "Disposition en CSS" - JavaScript_dynamic_client-side_scripting: "JavaScript — Scripts et dynamisme côté client" - JavaScript_first_steps: "Premiers pas en JavaScript" - JavaScript_building_blocks: "Blocs de construction JavaScript" - Introducing_JavaScript_objects: "Introduction aux objets JavaScript" - Asynchronous_JavaScript: "JavaScript asynchrone" - Client-side_web_APIs: "Les API web côté client" - Web_forms: "Formulaires web — Travailler avec les données des utilisateur·rice·s" - Web_forms_core: "Parcours sur les fondamentaux des formulaires web" - Web_forms_advanced: "Fonctionnalités avancées des formulaires" - Accessibility_—_Make_the_web_usable_by_everyone: "Accessibilité — Rendre le Web utilisable par toutes et tous" - Accessibility_guides: "Guides sur l'accessibilité" - Accessibility_assessment: "Évaluation de l'accessibilité" - MathML_Writing_mathematics: "MathML — Écrire des formules mathématiques sur le Web" - MathML_first_steps: "Premiers pas en MathML" - Tools_and_testing: "Outils et tests" - Cross_browser_testing: "Tests entre les différents navigateurs" - Git_and_GitHub: "Git et GitHub" - Client-side_web_development_tools: "Outils pour le développement web côté client" - Introduction_to_client-side_frameworks: "Introduction aux frameworks côté client" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "Programmation web côté serveur" - First_steps: "Premiers pas" - Django_web_framework_(Python): "Django (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Express (Node.js/JavaScript)" - Further_resources: "Ressources complémentaires" - Common_questions: "Questions fréquentes" + Complete_beginners_start_here: Vous débutez ? Commencez ici ! + Getting_started_with_the_web: Démarrer avec le Web + HTML_Structuring_the_web: HTML — Structurer le Web + Introduction_to_HTML: Introduction à HTML + Multimedia_and_embedding: Multimédia et contenu embarqué + HTML_tables: Tableaux HTML + CSS_Styling_the_web: CSS — Mettre en forme le Web + CSS_first_steps: Premiers pas en CSS + CSS_building_blocks: Blocs de construction CSS + Styling_text: Mise en forme du texte + CSS_layout: Disposition en CSS + JavaScript_dynamic_client-side_scripting: JavaScript — Scripts et dynamisme côté client + JavaScript_first_steps: Premiers pas en JavaScript + JavaScript_building_blocks: Blocs de construction JavaScript + Introducing_JavaScript_objects: Introduction aux objets JavaScript + Asynchronous_JavaScript: JavaScript asynchrone + Client-side_web_APIs: Les API web côté client + Web_forms: Formulaires web — Travailler avec les données des utilisateur·rice·s + Web_forms_core: Parcours sur les fondamentaux des formulaires web + Web_forms_advanced: Fonctionnalités avancées des formulaires + Accessibility_—_Make_the_web_usable_by_everyone: Accessibilité — Rendre le Web utilisable par toutes et tous + Accessibility_guides: Guides sur l'accessibilité + Accessibility_assessment: Évaluation de l'accessibilité + MathML_Writing_mathematics: MathML — Écrire des formules mathématiques sur le Web + MathML_first_steps: Premiers pas en MathML + Tools_and_testing: Outils et tests + Cross_browser_testing: Tests entre les différents navigateurs + Git_and_GitHub: Git et GitHub + Client-side_web_development_tools: Outils pour le développement web côté client + Introduction_to_client-side_frameworks: Introduction aux frameworks côté client + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: Programmation web côté serveur + First_steps: Premiers pas + Django_web_framework_(Python): Django (Python) + Express_Web_Framework_(Node.js_JavaScript): Express (Node.js/JavaScript) + Further_resources: Ressources complémentaires + Common_questions: Questions fréquentes ja: - Complete_beginners_start_here: "完全な初心者はこちらから!" - Getting_started_with_the_web: "ウェブ入門" - HTML_Structuring_the_web: "HTML — ウェブの構造化" - Introduction_to_HTML: "HTML概論" - Multimedia_and_embedding: "マルチメディアと埋め込み" - HTML_tables: "HTML 表" - CSS_Styling_the_web: "CSS — ウェブのスタイル設定" - CSS_first_steps: "CSS の第一歩" - CSS_building_blocks: "CSS の構成要素" - Styling_text: "テキストの装飾" - CSS_layout: "CSS レイアウト" - JavaScript_dynamic_client-side_scripting: "JavaScript — 動的クライアントサイドスクリプト" - JavaScript_first_steps: "JavaScript の第一歩" - JavaScript_building_blocks: "JavaScript の構成要素" - Introducing_JavaScript_objects: "JavaScript オブジェクトの紹介" - Asynchronous_JavaScript: "非同期 JavaScript" - Client-side_web_APIs: "クライアントサイド Web API" - Web_forms: "ウェブフォーム — ユーザーデータの操作" - Web_forms_core: "ウェブフォームの構成要素" - Web_forms_advanced: "高度なウェブフォームテクニック" - Accessibility_—_Make_the_web_usable_by_everyone: "アクセシビリティ — 誰もウェブを利用できるようにする" - Accessibility_guides: "アクセシビリティガイド" - Accessibility_assessment: "Accessibility assessment" - Performance: "パフォーマンス — ウェブサイトを高速かつ応答性の高いものにする" - Performance_guides: "パフォーマンスガイド" - MathML_Writing_mathematics: "MathML — MathML を使用して数学を記述する" - MathML_first_steps: "MathML の最初のステップ" - Games_Developing_for_web: "ゲーム — ウェブ用ゲームの開発" - Guides_and_tutorials: "ガイドとチュートリアル" - Tools_and_testing: "ツールとテスト" - Cross_browser_testing: "ブラウザー横断テスト" - Git_and_GitHub: "Git と GitHub" - Client-side_web_development_tools: "クライアントサイドウェブ開発ツール" - Introduction_to_client-side_frameworks: "クライアントサイドフレームワークの概要" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "サーバーサイドウェブサイトプログラミング" - First_steps: "サーバーサイドのウェブサイトプログラミングの第一歩" - Django_web_framework_(Python): "Django ウェブフレームワーク (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Express ウェブフレームワーク (Node.js/JavaScript)" - Further_resources: "その他のリソース" - Common_questions: "よくある質問" + Complete_beginners_start_here: 完全な初心者はこちらから! + Getting_started_with_the_web: ウェブ入門 + HTML_Structuring_the_web: HTML — ウェブの構造化 + Introduction_to_HTML: HTML概論 + Multimedia_and_embedding: マルチメディアと埋め込み + HTML_tables: HTML 表 + CSS_Styling_the_web: CSS — ウェブのスタイル設定 + CSS_first_steps: CSS の第一歩 + CSS_building_blocks: CSS の構成要素 + Styling_text: テキストの装飾 + CSS_layout: CSS レイアウト + JavaScript_dynamic_client-side_scripting: JavaScript — 動的クライアントサイドスクリプト + JavaScript_first_steps: JavaScript の第一歩 + JavaScript_building_blocks: JavaScript の構成要素 + Introducing_JavaScript_objects: JavaScript オブジェクトの紹介 + Asynchronous_JavaScript: 非同期 JavaScript + Client-side_web_APIs: クライアントサイド Web API + Web_forms: ウェブフォーム — ユーザーデータの操作 + Web_forms_core: ウェブフォームの構成要素 + Web_forms_advanced: 高度なウェブフォームテクニック + Accessibility_—_Make_the_web_usable_by_everyone: アクセシビリティ — 誰もウェブを利用できるようにする + Accessibility_guides: アクセシビリティガイド + Accessibility_assessment: Accessibility assessment + Performance: パフォーマンス — ウェブサイトを高速かつ応答性の高いものにする + Performance_guides: パフォーマンスガイド + MathML_Writing_mathematics: MathML — MathML を使用して数学を記述する + MathML_first_steps: MathML の最初のステップ + Games_Developing_for_web: ゲーム — ウェブ用ゲームの開発 + Guides_and_tutorials: ガイドとチュートリアル + Tools_and_testing: ツールとテスト + Cross_browser_testing: ブラウザー横断テスト + Git_and_GitHub: Git と GitHub + Client-side_web_development_tools: クライアントサイドウェブ開発ツール + Introduction_to_client-side_frameworks: クライアントサイドフレームワークの概要 + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: サーバーサイドウェブサイトプログラミング + First_steps: サーバーサイドのウェブサイトプログラミングの第一歩 + Django_web_framework_(Python): Django ウェブフレームワーク (Python) + Express_Web_Framework_(Node.js_JavaScript): Express ウェブフレームワーク (Node.js/JavaScript) + Further_resources: その他のリソース + Common_questions: よくある質問 ko: - Complete_beginners_start_here: "입문자들은 여기서부터 시작하세요!" - Getting_started_with_the_web: "Web과 함께 시작하기" - HTML_Structuring_the_web: "HTML — 웹 구성" - Introduction_to_HTML: "HTML 입문서" - Multimedia_and_embedding: "멀티미디어와 임베딩" - HTML_tables: "HTML 테이블" - CSS_Styling_the_web: "CSS — 웹 꾸미기" - CSS_first_steps: "CSS 첫 번째 단계" - CSS_building_blocks: "CSS 구성요소" - Styling_text: "텍스트 꾸미기" - CSS_layout: "CSS 레이아웃" - JavaScript_dynamic_client-side_scripting: "JavaScript — 동적 클라이언트 사이드 스크립트 언어" - JavaScript_first_steps: "JavaScript 첫걸음" - JavaScript_building_blocks: "JavaScript 구성요소" - Introducing_JavaScript_objects: "JavaScript 객체" - Asynchronous_JavaScript: "JavaScript의 비동기성" - Client-side_web_APIs: "클라이언트 사이드 웹 API" - Web_forms: "웹 Form — 사용자 데이터 사용하기" - Web_forms_core: "웹 form 핵심" - Web_forms_advanced: "고급 form" - Accessibility_—_Make_the_web_usable_by_everyone: "접근성 - 모두를 위한 웹 만들기" - Accessibility_guides: "접근성 안내서" + Complete_beginners_start_here: 입문자들은 여기서부터 시작하세요! + Getting_started_with_the_web: Web과 함께 시작하기 + HTML_Structuring_the_web: HTML — 웹 구성 + Introduction_to_HTML: HTML 입문서 + Multimedia_and_embedding: 멀티미디어와 임베딩 + HTML_tables: HTML 테이블 + CSS_Styling_the_web: CSS — 웹 꾸미기 + CSS_first_steps: CSS 첫 번째 단계 + CSS_building_blocks: CSS 구성요소 + Styling_text: 텍스트 꾸미기 + CSS_layout: CSS 레이아웃 + JavaScript_dynamic_client-side_scripting: JavaScript — 동적 클라이언트 사이드 스크립트 언어 + JavaScript_first_steps: JavaScript 첫걸음 + JavaScript_building_blocks: JavaScript 구성요소 + Introducing_JavaScript_objects: JavaScript 객체 + Asynchronous_JavaScript: JavaScript의 비동기성 + Client-side_web_APIs: 클라이언트 사이드 웹 API + Web_forms: 웹 Form — 사용자 데이터 사용하기 + Web_forms_core: 웹 form 핵심 + Web_forms_advanced: 고급 form + Accessibility_—_Make_the_web_usable_by_everyone: 접근성 - 모두를 위한 웹 만들기 + Accessibility_guides: 접근성 안내서 Accessibility_assessment: "과제: 접근성 평가" - MathML_Writing_mathematics: "MathML — MathML을 이용해 수학 쓰기" - MathML_first_steps: "MathML 첫 걸음" - Tools_and_testing: "도구과 테스트" - Cross_browser_testing: "크로스 브라우저 테스팅" - Git_and_GitHub: "Git과 GitHub" - Client-side_web_development_tools: "클라이언트 사이드 웹 개발 도구" - Introduction_to_client-side_frameworks: "클라이언트 사이드 프레임워크 소개" - React: "React" - Ember: "Ember" - Vue: "Vue" - Svelte: "Svelte" - Angular: "Angular" - Server-side_website_programming: "서버 사이드 웹사이트 프로그래밍" - First_steps: "첫 걸음" - Django_web_framework_(Python): "Django 웹 프레임워크 (Python)" - Express_Web_Framework_(Node.js_JavaScript): "Express 웹 프레임워크 (Node.js/JavaScript)" - Further_resources: "추가 자료" - Common_questions: "자주 묻는 질문" + MathML_Writing_mathematics: MathML — MathML을 이용해 수학 쓰기 + MathML_first_steps: MathML 첫 걸음 + Tools_and_testing: 도구과 테스트 + Cross_browser_testing: 크로스 브라우저 테스팅 + Git_and_GitHub: Git과 GitHub + Client-side_web_development_tools: 클라이언트 사이드 웹 개발 도구 + Introduction_to_client-side_frameworks: 클라이언트 사이드 프레임워크 소개 + React: React + Ember: Ember + Vue: Vue + Svelte: Svelte + Angular: Angular + Server-side_website_programming: 서버 사이드 웹사이트 프로그래밍 + First_steps: 첫 걸음 + Django_web_framework_(Python): Django 웹 프레임워크 (Python) + Express_Web_Framework_(Node.js_JavaScript): Express 웹 프레임워크 (Node.js/JavaScript) + Further_resources: 추가 자료 + Common_questions: 자주 묻는 질문 diff --git a/files/sidebars/mathmlref.yaml b/files/sidebars/mathmlref.yaml index 74fe8eebe5ec47e..c1b5ff1b0f634e4 100644 --- a/files/sidebars/mathmlref.yaml +++ b/files/sidebars/mathmlref.yaml @@ -1,32 +1,30 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/MathML - - type: section title: Guides - children: - link: /Web/MathML/Authoring - link: /Web/MathML/Fonts - link: /Web/MathML/Values - - type: section title: Reference - type: listSubPages + path: /Web/MathML/Element title: Elements details: closed - path: /en-US/docs/Web/MathML/Element - type: listSubPages + path: /Web/MathML/Global_attributes title: Global attributes details: closed - path: /en-US/docs/Web/MathML/Global_attributes - /Web/MathML/Attribute - - type: section title: Examples - children: - link: /Web/MathML/Examples/Deriving_the_Quadratic_Formula - link: /Web/MathML/Examples/MathML_Pythagorean_Theorem - l10n: en-US: Reference: Reference diff --git a/files/sidebars/mdnsidebar.yaml b/files/sidebars/mdnsidebar.yaml index da2535002febe1d..c5b16816ccac7ef 100644 --- a/files/sidebars/mdnsidebar.yaml +++ b/files/sidebars/mdnsidebar.yaml @@ -1,13 +1,14 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /MDN - - - details: closed - title: community_guidelines + - title: community_guidelines + details: closed children: - /MDN/Community - - details: closed - title: contributing_to_mdn_web_docs + - title: contributing_to_mdn_web_docs + details: closed children: - /MDN/Community/Contributing - /MDN/Community/Contributing/Getting_started @@ -21,15 +22,14 @@ sidebar: - /MDN/Community/Issues - /MDN/Community/Pull_requests - /MDN/Community/Roles_teams - - - details: closed - title: writing_guide + - title: writing_guide + details: closed children: - /MDN/Writing_guidelines - /MDN/Writing_guidelines/What_we_write - /MDN/Writing_guidelines/Writing_style_guide - - details: closed - title: how_to_guides + - title: how_to_guides + details: closed children: - /MDN/Writing_guidelines/Howto - /MDN/Writing_guidelines/Howto/Images_media @@ -42,8 +42,8 @@ sidebar: - /MDN/Writing_guidelines/Howto/Write_an_api_reference - /MDN/Writing_guidelines/Howto/Write_a_new_entry_in_the_glossary - /MDN/Writing_guidelines/Howto/Markdown_in_MDN - - details: closed - title: page_structures + - title: page_structures + details: closed children: - /MDN/Writing_guidelines/Page_structures - /MDN/Writing_guidelines/Page_structures/Banners_and_notices @@ -58,21 +58,17 @@ sidebar: - /MDN/Writing_guidelines/Page_structures/Feature_status - /MDN/Writing_guidelines/Attrib_copyright_license - /MDN/Writing_guidelines/Experimental_deprecated_obsolete - - - details: closed - title: advisory_board + - title: advisory_board + details: closed children: - /MDN/MDN_Product_Advisory_Board - /MDN/MDN_Product_Advisory_Board/Membership - - - details: closed - title: history + - title: history + details: closed children: - /MDN/At_ten - /MDN/At_ten/History_of_MDN - - /MDN/Changelog - l10n: en-US: history: History diff --git a/files/sidebars/pwasidebar.yaml b/files/sidebars/pwasidebar.yaml index 88367150530a20a..4af3392637d5bd1 100644 --- a/files/sidebars/pwasidebar.yaml +++ b/files/sidebars/pwasidebar.yaml @@ -1,7 +1,8 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/Progressive_web_apps - - type: section link: /Web/Progressive_web_apps/Guides - /Web/Progressive_web_apps/Guides/What_is_a_progressive_web_app @@ -10,7 +11,6 @@ sidebar: - /Web/Progressive_web_apps/Guides/Offline_and_background_operation - /Web/Progressive_web_apps/Guides/Caching - /Web/Progressive_web_apps/Guides/Best_practices - - type: section link: /Web/Progressive_web_apps/Tutorials - link: /Web/Progressive_web_apps/Tutorials/CycleTracker @@ -31,7 +31,6 @@ sidebar: - /Web/Progressive_web_apps/Tutorials/js13kGames/Installable_PWAs - /Web/Progressive_web_apps/Tutorials/js13kGames/Re-engageable_Notifications_Push - /Web/Progressive_web_apps/Tutorials/js13kGames/Loading - - type: section link: /Web/Progressive_web_apps/How_to - /Web/Progressive_web_apps/How_to/Trigger_install_prompt @@ -42,6 +41,5 @@ sidebar: - /Web/Progressive_web_apps/How_to/Expose_common_actions_as_shortcuts - /Web/Progressive_web_apps/How_to/Share_data_between_apps - /Web/Progressive_web_apps/How_to/Associate_files_with_your_PWA - - type: section link: /Web/Progressive_web_apps/Reference diff --git a/files/sidebars/svgref.yaml b/files/sidebars/svgref.yaml index d49747699c10e4a..2b8213901b88f7c 100644 --- a/files/sidebars/svgref.yaml +++ b/files/sidebars/svgref.yaml @@ -1,10 +1,12 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/SVG - type: section title: Tutorials - - details: closed - title: Introducing SVG from scratch + - title: Introducing SVG from scratch + details: closed children: - /Web/SVG/Tutorial/Introduction - /Web/SVG/Tutorial/Getting_Started @@ -26,13 +28,13 @@ sidebar: - type: section title: Reference - type: listSubPages + path: /Web/SVG/Element title: Elements details: closed - path: /en-US/docs/Web/SVG/Element - type: listSubPages + path: /Web/SVG/Attribute title: Attributes details: closed - path: /en-US/docs/Web/SVG/Attribute - type: section title: Guides - children: @@ -41,7 +43,6 @@ sidebar: - /Web/SVG/Namespaces_Crash_Course - /Web/SVG/SVG_animation_with_SMIL - /Web/SVG/SVG_as_an_Image - l10n: en-US: Tutorials: Tutorials diff --git a/files/sidebars/webassemblysidebar.yaml b/files/sidebars/webassemblysidebar.yaml index 9c086e2c34275c9..062c2b62ddc0ba7 100644 --- a/files/sidebars/webassemblysidebar.yaml +++ b/files/sidebars/webassemblysidebar.yaml @@ -1,8 +1,9 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /WebAssembly title: WebAssembly_home_page - - title: Tutorials details: open children: @@ -22,7 +23,6 @@ sidebar: title: Loading_and_running - link: /WebAssembly/Exported_functions title: Exported_functions - - title: JavaScript_interface details: open children: @@ -48,7 +48,6 @@ sidebar: code: true - link: /WebAssembly/JavaScript_interface/RuntimeError code: true - l10n: en-US: WebAssembly_home_page: WebAssembly home page diff --git a/files/sidebars/xsltsidebar.yaml b/files/sidebars/xsltsidebar.yaml index 6da5c2da0825b8b..62b41daf8e05e23 100644 --- a/files/sidebars/xsltsidebar.yaml +++ b/files/sidebars/xsltsidebar.yaml @@ -1,23 +1,21 @@ +# Do not add comments to this file. They will be lost. + sidebar: - type: section link: /Web/XSLT - type: listSubPages - path: /en-US/docs/Web/XSLT/Transforming_XML_with_XSLT - + path: /Web/XSLT/Transforming_XML_with_XSLT - type: section link: /Web/XSLT/Element - type: listSubPages - path: /en-US/docs/Web/XSLT/Element - + path: /Web/XSLT/Element - type: section link: /Web/EXSLT - type: listSubPages - path: /en-US/docs/Web/EXSLT - + path: /Web/EXSLT - type: section link: /Web/XPath/Functions - type: listSubPages - path: /en-US/docs/Web/XPath/Functions - + path: /Web/XPath/Functions - type: section link: /Web/XPath/Axes diff --git a/front-matter-config.json b/front-matter-config.json index ce2b8cf14b401b6..a5b72ec719f6b72 100644 --- a/front-matter-config.json +++ b/front-matter-config.json @@ -91,6 +91,29 @@ }, "else": false }, + { + "if": { + "properties": { + "slug": { "type": "string", "pattern": "^Learn_web_development/" } + } + }, + "then": { + "properties": { + "page-type": { + "enum": [ + "guide", + "landing-page", + "learn-topic", + "learn-module", + "learn-module-chapter", + "learn-module-assessment", + "learn-faq" + ] + } + } + }, + "else": false + }, { "if": { "properties": { "slug": { "type": "string", "pattern": "^MDN/" } }