css 相关问题

CSS(层叠样式表)是一种表示样式表语言,用于描述HTML(超文本标记语言),XML(可扩展标记语言)文档和SVG元素的外观和格式,包括(但不限于)颜色,布局,字体和动画。它还描述了元素应如何在屏幕上,纸上,语音或其他媒体上呈现。

如何接受 iframe 中的点击但忽略从父页面的滚动

我在网页中嵌入了多个 iframe。在父页面上滚动时,一旦鼠标光标位于其上,滚动就会停止并开始转发到 iframe。我知道我可以...

回答 1 投票 0

如何使用 CSS 在表头中用空格将单词换行?

我有一个 Angular 的 Mat-Table。以下是标题 HTML 代码。 我有一个 Angular 的 Mat-Table。以下是标题 HTML 代码。 <ng-container matColumnDef="{{column}}" *ngFor="let column of columns; let j=index"> <mat-header-cell *matHeaderCellDef class="table-header"> <div *ngFor="let option of options"> <div class="table-header-title">{{option.title}}</div> </div> </mat-header-cell> </ng-container> <!-- ...rest of the code --> 标题列的标题来自我的后端 API ({{option.title}})。每个标题通常包含两个字符串,例如“Some event0”; “一些事件1-5”; “一些事件50-500”等。当我调整窗口大小时,文本将换行为两行。我想要的是,当它换行成两行时,它应该保持单词完整。 例如,如果窗口宽度减小时文本“some events50-500”被换行为两行,则第一行应为“some”,第二行应为“events50-500”。 但是现在第一行显示“Some events5”,第二行显示“0-500”。或者它在第一行显示“一些事件”,在第二行显示“50-500”。 我希望纯 CSS 按空格分割文本并相应地换行。我不想重写表头的列数组。 我想要纯CSS... 抱歉。那不存在。 有一个开放的问题,用于标准化 CSS 中的解决方案来处理这种情况,但它还没有实现。 我不想重写表头的列数组。 您现在最好的选择可能是用不间断的连字符替换连字符。看起来像这样: <div>Some event0</div> <div>some events1&#8209;5</div> <div>some events50&#8209;500</div> 现在,很明显您正在动态构建此 HTML,因此我建议在 Angular 模板中采用以下方法之一: <div [innerHTML]="option.title.replace(/-/g, '&#8209;')"></div> <div>{{ option.title.replace(/-/g, '‑') }}</div>

回答 1 投票 0

仅限 CSS:“禁用”输入元素并停止使用 Tab 键切换到元素的功能

第一次提问(所以我们开始吧) 当安全级别不足时,希望仅使用 CSS 来“禁用”输入元素,以阻止用户在屏幕上输入数据。这是...

回答 1 投票 0

重复嵌套的 CSS 动画

我正在尝试获取此加载栏: https://web.archive.org/web/20120608081511/http://www.webfroze.com/css/loading-animation-circle-style/ 无限地重复。 我试过 -moz-动画:加载 1 秒

回答 1 投票 0

React Native 如何将组件包装到文本中的 TouchableOpacity 中

我正在构建条款和条件文本,我希望我的条款和条件具有 TouchableOpacity 行为,同样适用于 PrivacyPolicy 如下所示: 现在我想补充一下

回答 2 投票 0

我的练习网页完全是空的,我不知道为什么一切练习</</desc> <question vote="-1"> <pre><code><!DOCTYPE html> <head> <meta charset="utf-8"> <meta name="description" content="This is a practice website"> <title>Everything Practice</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="Resources/css/index.css" rel="stylesheet" type="text/css"> </head> <html> <body> <!--Title and Banner--> <header> <title> <h1>Flip 'n' Sell</h1> <title> <nav> <ul> <li>Home</li> <li>Info</li> <li>Help</li> <li>Selling</li> </ul> </nav> </header> </body> </html> </code></pre> <p>这是到目前为止我的页面的 HTML 和 CSS。正如您所看到的,我所做的只是将其样式设置为不存在默认边距和填充。</p> <p>当我加载这个并查看网页时,什么都没有,什么都没有。我做错了什么?</p> <pre><code>* { margin: none; padding: none; box-sizing: border-box; } </code></pre> </question> <answer tick="true" vote="1"> <p>将开始的 <pre><code><html></code></pre> 标签移至 Doctype 声明下的 <pre><code><head></code></pre> 标签之前,并从正文中更改或删除 <pre><code><title></code></pre> 标签。</p> <p>标题标签定义整个文档的标题(浏览器选项卡上显示的内容),在渲染页面时可能会造成一些混乱。<a href="https://www.w3schools.com/tags/tag_title.asp" rel="nofollow noreferrer">请参阅 W3 School 关于标题标签的帖子</a></p> </answer> <answer tick="false" vote="1"> <pre><code><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="description" content="This is a practice website"> <title>Everything Practice</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="Resources/css/index.css" rel="stylesheet" type="text/css"> </head> <body> <!--Title and Banner--> <header> <h1>Flip 'n' Sell</h1> <nav> <ul> <li>Home</li> <li>Info</li> <li>Help</li> <li>Selling</li> </ul> </nav> </header> </body> </html> </code></pre> <p>修复了您的标题标签未终止的问题。需要相应的 <pre><code></title></code></pre> 但实际上标题标签不属于那里,应该像我在示例中那样删除。</p> </answer> </body></html>

一切练习</</desc> <question vote="-1"> <pre><code><!DOCTYPE html> <head> <meta charset="utf-8"> <meta name="description" content="This is a practice website"> <title>Everything Practice</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="Resources/css/index.css" rel="stylesheet" type="text/css"> </head> <html> <body> <!--Title and Banner--> <header> <title> <h1>Flip 'n' Sell</h1> <title> <nav> <ul> <li>Home</li> <li>Info</li> <li>Help</li> <li>Selling</li> </ul> </nav> </header> </body> </html> </code></pre> <p>这是到目前为止我的页面的 HTML 和 CSS。正如您所看到的,我所做的只是将其样式设置为不存在默认边距和填充。</p> <p>当我加载这个并查看网页时,什么都没有,什么都没有。我做错了什么?</p> <pre><code>* { margin: none; padding: none; box-sizing: border-box; } </code></pre> </question> <answer tick="true" vote="1"> <p>将开始的 <pre><code><html></code></pre> 标签移至 Doctype 声明下的 <pre><code><head></code></pre> 标签之前,并从正文中更改或删除 <pre><code><title></code></pre> 标签。</p> <p>标题标签定义整个文档的标题(浏览器选项卡上显示的内容),在渲染页面时可能会造成一些混乱。<a href="https://www.w3schools.com/tags/tag_title.asp" rel="nofollow noreferrer">请参阅 W3 School 关于标题标签的帖子</a></p> </answer> <answer tick="false" vote="1"> <pre><code><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="description" content="This is a practice website"> <title>Everything Practice</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="Resources/css/index.css" rel="stylesheet" type="text/css"> </head> <body> <!--Title and Banner--> <header> <h1>Flip 'n' Sell</h1> <nav> <ul> <li>Home</li> <li>Info</li> <li>Help</li> <li>Selling</li> </ul> </nav> </header> </body> </html> </code></pre> <p>修复了您的标题标签未终止的问题。需要相应的 <pre><code></title></code></pre> 但实际上标题标签不属于那里,应该像我在示例中那样删除。</p> </answer> </body></html>

回答 0 投票 0

如何将输入置于屏幕中央[重复]

我对编程并不陌生,但对 HTML 很陌生。我被分配了创建内部网页的任务。我可能有些本末倒置,但我正在尝试设计页面的样式......

回答 1 投票 0

Tailwind CSS 组悬停不适用于自定义前缀

我正在为所有类使用带有自定义前缀 tw- 的 Tailwind CSS。但是,我无法使组悬停功能正常工作。这是我正在使用的代码: 我正在使用 Tailwind CSS 并为所有类添加自定义前缀 tw-。但是,我无法使组悬停功能正常工作。这是我正在使用的代码: <script src="https://cdn.tailwindcss.com/3.2.4"></script> <script> tailwind.config = { prefix: 'tw-' } </script> <div class="tw-flex tw-h-screen tw-justify-center tw-items-center"> <div class="tw-group tw-text-xl"> <strong class="tw-group-hover:tw-text-red-500">Hover on me </strong> <strong class="tw-group-hover:tw-text-green-500">the texts will be </strong> <strong class="tw-group-hover:tw-text-blue-500">of different colors</strong> </div> </div> 我也尝试过 <script src="https://cdn.tailwindcss.com/3.2.4"></script> <script> tailwind.config = { prefix: 'tw-' } </script> <div class="tw-flex tw-h-screen tw-justify-center tw-items-center"> <div class="tw-group tw-text-xl"> <strong class="tw-group-hover:text-red-500">Hover on me </strong> <strong class="tw-group-hover:text-green-500">the texts will be </strong> <strong class="tw-group-hover:ext-blue-500">of different colors</strong> </div> </div> 以下内容无需前缀即可工作 <script src="https://cdn.tailwindcss.com/3.2.4"></script> <div class="flex h-screen justify-center items-center"> <div class="group text-xl"> <strong class="group-hover:text-red-500">Hover on me </strong> <strong class="group-hover:text-green-500">the texts will be </strong> <strong class="group-hover:text-blue-500">of different colors</strong> </div> </div> 根据文档: 重要的是要了解此前缀是在任何变体修饰符之后添加的。这意味着具有响应式或状态修饰符(如 sm: 或 hover:)的类仍将具有响应式或状态修饰符 first,您的自定义前缀出现在冒号之后: <div class="tw-text-lg md:tw-text-xl tw-bg-red-500 hover:tw-bg-blue-500"> <!-- --> </div> 所以对于你的情况来说,一般是group-hover:tw-<class name>: tailwind.config = { prefix: 'tw-' } <script src="https://cdn.tailwindcss.com/3.2.4"></script> <div class="tw-flex tw-h-screen tw-justify-center tw-items-center"> <div class="tw-group tw-text-xl"> <strong class="group-hover:tw-text-red-500">Hover on me </strong> <strong class="group-hover:tw-text-green-500">the texts will be </strong> <strong class="group-hover:tw-text-blue-500">of different colors</strong> </div> </div>

回答 1 投票 0

当我单击我的选项卡时,两个选项卡都会被选中

soo 我的网站上有一些选项卡(不是导航栏),前两个选项卡(在我网站的 20 世纪 80 年代部分)工作正常。但是,当我从不同部分选择另一个选项卡时(例如 20 世纪 90 年代或...

回答 1 投票 0

CSS 网格中 div 内的 SVG 在底部添加了一些额外的填充,为什么?

我正在尝试使用 CSS 网格显示 SVG 网格。像这个例子一样简单,只是 div,还没有 SVG。这很好用。 #包装器{ 显示:网格; 网格间隙:2px; 网格-

回答 1 投票 0

当我更改图像按钮 Asp.Net/VB.Net 的 ImageUrl 时,CSS 类不起作用

我是编程新手,所以请温柔一点。我正在制作一个小交易或无交易风格的游戏,你可以在其中打开盒子。它们位于更新面板中,并且这些框针对不同尺寸的屏幕进行了设置...

回答 1 投票 0

动态设置选择元素宽度等于其选项的内容宽度

我试图使选择元素的宽度等于其选项文本的角度宽度。 我的 HTML 组件看起来就像这样: ... 我试图使选择元素的宽度等于其选项文本的角度宽度。 我的 HTML 组件看起来像这样: <form [formGroup]="profileForm"> ... <select (change)="adjustSelectWidth($event.target)" formControlName="members"> <option value="1">Me</option> <option value="2">Me, my spouse</option> <option value="3">Me, my spouse and my kids</option> </select> ... </form> 我尝试过的: 使用 clientWidth 获取选项元素宽度,然后将其应用于选择元素,但宽度为 0。 export class AppComponent { profileForm = new FormGroup({ members : new FormControl(''), }) adjustSelectWidth(e){ const optionValue = this.profileForm.get('members').value; const optionWidth = document.querySelector(`option[value="${optionValue}"]`).clientWidth; e.style.width= optionWidth + "px" } } 获取选项的innerHTML长度,然后将其与固定像素相乘,但它不是动态选项 export class AppComponent { profileForm = new FormGroup({ members : new FormControl(''), }) adjustSelectWidth(e){ const optionValue = this.profileForm.get('members').value; const optionTextLength = document.querySelector(`option[value="${optionValue}"]`).innerHTML.length; e.style.width= optionTextLength*8 + "px"; } } 将选项的 innerHTML 附加到跨度元素以测量宽度,但是当我将其应用于选择元素时,该跨度 clientWidth 不准确 export class AppComponent { //This temp is bind to a span via string interpolation {{...}} temp:string; profileForm = new FormGroup({ members : new FormControl(''), }) adjustSelectWidth(e){ const optionValue = this.profileForm.get('members').value; const optionText = document.querySelector(`option[value="${optionValue}"]`).innerHTML; this.temp = optionText; const spanWidth = document.querySelector(`.temp`).clientWidth; e.style.width = spanWidth + "px"; } } 由于我使用 Angular,所以我不喜欢使用 JQuery。另外,为什么clientWidth似乎无法解决我的问题 我创建了一个 stackbliz 示例:https://stackblitz.com/edit/angular-bbimkz 有一种方法可以测量文本宽度。我认为它足够可靠,但在性能方面可能有点昂贵,当然取决于您的应用程序。 (Stackblitz 中的简单示例没有性能问题。) 方法是实际将一个隐藏元素附加到包含要测量的文本的文档中,读取clientWidth,然后立即删除该元素。 修改adjustSelectWidth()如下: adjustSelectWidth(e: HTMLSelectElement){ // assuming something is always selected, please test! const displayedText = e.options[e.selectedIndex].innerText; const dummy = document.createElement('div'); dummy.innerText = displayedText; dummy.style.position = 'absolute'; dummy.style.visibility = 'hidden'; document.body.insertBefore(dummy, document.body.firstChild); const measuredWidth = dummy.clientWidth; document.body.removeChild(dummy); e.style.width = (measuredWidth + 30) + 'px' } 修改后的 Stackblitz:https://stackblitz.com/edit/angular-mpjxbd?file=src/app/app.component.ts - 在最新的 Firefox、Chrome、Edge 中测试 以防万一有人需要复制粘贴 JS 代码。感谢您的决议 Nikos 很有帮助。 adjustDDLWidth: function (htmlEl) { // Assuming something is always selected, please test! const displayedText = htmlEl.options[htmlEl.selectedIndex].innerText; const dummy = document.createElement('div'); dummy.innerText = displayedText; dummy.style.position = 'absolute'; dummy.style.visibility = 'hidden'; document.body.insertBefore(dummy, document.body.firstChild); htmlEl.style.width = (dummy.clientWidth + 30) + 'px'; document.body.removeChild(dummy); }

回答 0 投票 0

Angular 和 mat-tab-nav-bar:如何使用 router.Navigate 维护水平滚动

我正在使用 Angular 和 mat-tab-nav-bar,并且我有一个反应式站点。无论页面大小如何,我都试图保持所选菜单项的可见性。 (使用路由器进行onclick导航,所以页面相对...

回答 1 投票 0

如何通过CSS使所有不同高度和宽度的图像相同?

我正在尝试创建一个由产品照片组成的图像墙。不幸的是,它们的高度和宽度都不同。如何使用 css 使所有图像看起来大小相同?最好...

回答 15 投票 0

CSS 上下左右属性如何工作?

我想知道顶部、左下和右的 CSS 属性背后的逻辑是什么。 例如,如果我要执行以下操作: 图像{ 位置:绝对; 右:5px; } 这会...

回答 3 投票 0

是否有 srcset 相当于 css 背景图片

img 看起来是制作响应式图像的好方法。是否有适用于 css background-image 属性的等效语法? 超文本标记语言 带有 img 属性的 srcset 看起来是制作响应式图像的好方法。是否有适用于 css background-image 属性的等效语法? HTML <img src="small.jpg" srcset="medium.jpg 1000w, large.jpg 2000w" alt="yah"> CSS .mycontainer { background: url('what goes here?'); } image-set 是等效的 CSS 功能。我们应该在规范中添加等效的 srcset 功能(根据资源的维度定义资源)。 自 2023 年 5 月 4 日起发布的所有主要浏览器都支持此功能,无需前缀。为了支持较旧的浏览器(主要是 Chrome 和 Edge),您可以添加带有 -webkit- 前缀的变体,请参阅我可以使用。 另一种方法,坦率地说更稳健,是将背景图像的特征和选项调整为具有 srcset 属性的图像。 为此,请将图像设置为宽度:100%;高度:100%;和对象适合:覆盖或包含。 这是一个例子: .pseudo-background-img-container { position: relative; width:400px; height: 200px; } .pseudo-background-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } <div class="pseudo-background-img-container"> <img class="pseudo-background-img" src="https://cdn3.tnwcdn.com/wp-content/blogs.dir/1/files/2016/12/Keep.jpg" srcset="https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2016/12/Keep.jpg 640w, https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2016/12/Keep-280x175.jpg 280w, https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2016/12/Keep-432x270.jpg 432w, https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2016/12/Keep-216x135.jpg 216w" sizes="(max-width: 640px) 100vw, 640px"> </div> 这可能不是每个人的最佳方法,但我想它会在没有任何 JavaScript 解决方法的情况下获得最理想的结果。 非常确定: background: -webkit-image-set( url('path/to/image') 1x, url('path/to/high-res-image') 2x ); 以同样的方式工作。浏览器将检查图像,查看哪一个最适合并使用该图像。 您可以根据您的目的使用媒体查询。就这么简单: .mycontainer { background-image:url("img/image-big.jpg"); // big image } @media(max-width: 768px){ .mycontainer { background-image:url("img/image-sm.jpg"); // small image } } 我认为它适用于所有支持媒体查询的浏览器;) 对于polyfill,您可以使用带有srcset的img作为下载正确图像大小的机制,然后使用JS隐藏它并设置父元素的背景图像。 这是一个小提琴:http://jsbin.com/garetikubu/edit?html,output 使用onload并将JS作为阻塞脚本放在<head>中很重要。如果您稍后放置脚本(例如在 <body> 的末尾),您可能会遇到浏览器尚未设置 img.currentSrc 的竞争条件。最好等待加载。 该示例允许您查看正在下载的原始img。您可以使用一些 CSS 轻松隐藏它。 从 2021 年起 image-set() 应用于此目的,根据 CSSTricks。 这是建议用于支持所有现代浏览器版本的完整片段: .hero { /* Fallback */ background-image: url("platypus.png"); /* Chrome/Edge/Opera/Samsung, Safari will fallback to this as well */ background-image: -webkit-image-set(url("platypus.png") 1x, url("platypus-2x.png") 2x); /* Standard use */ background-image: image-set(url("platypus.png") 1x, url("platypus-2x.png") 2x); } 使用 <picture> 元素的类似解决方案: 教程在这里 教程案例: 我怀疑如果我在较小的屏幕尺寸上使用相同的图像, 我的图像的主要主题可能变得太小。我想 显示不同的图像(更集中于主要主题) 不同的屏幕尺寸,但我仍然想显示单独的资源 基于设备像素比的相同图像,我想自定义 基于视口的图像的高度和宽度。 示例代码: <picture> <source media="(max-width: 20em)" srcset="images/small/space-needle.jpg 1x, images/small/space-needle-2x.jpg 2x, images/small/space-needle-hd.jpg 3x"> <source media="(max-width: 40em)" srcset="images/medium/space-needle.jpg 1x, images/medium/space-needle-2x.jpg 2x, images/medium/space-needle-hd.jpg 3x"> <img src="space-needle.jpg" alt="Space Needle"> </picture> 如果您使用 Foundation 框架 (https://foundation.zurb.com/),您可以使用 Interchange 插件: <div data-interchange="[assets/img/interchange/small.jpg, small], [assets/img/interchange/medium.jpg, medium], [assets/img/interchange/large.jpg, large]"> </div> https://foundation.zurb.com/sites/docs/interchange.html#use-with-background-images 基于 @Weston 的回答,我构建了一个更通用的 jQuery 解决方案,您基本上只需复制粘贴 JS 和 CSS 并专注于 HTML 部分;) TL;DR - 小提琴:https://jsfiddle.net/dpaa7oz6/ CSS ...确保加载时图像几乎不可见 .srcSet{ position: fixed; z-index: 0; z-index: -1; z-index: -100; /* you could probably also add visibility: hidden; */ } JS / jQuery 此脚本将遍历所有具有 srcSet 类的图像并绑定 load 事件,该事件采用 currentSrc(如果不支持则为 src)并将其作为 background-image CSS 放置到带有 bgFromSrcSet 最接近的父级 类。 这本身还不够!因此它还在windowload事件上放置了一个间隔检查器来测试加载事件是否已完成,如果没有完成,则会触发它们。 (imgload事件经常触发仅在第一次加载时,在后续加载时,可以从缓存中检索图像源,导致img加载事件NOT被触发!) jQuery(function($){ //ON DOCUMENT READY var $window = $(window); //prepare window as jQuery object var $srcSets = $('.srcSet'); //get all images with srcSet clas $srcSets.each(function(){ //for each .srcSet do... var $currImg = $(this); //prepare current srcSet as jQuery object $currImg .load(function(){ //bind the load event var img = $currImg.get(0); //retrieve DOM element from $currImg //test currentSrc support, if not supported, use the old src var src = img.currentSrc ? img.currentSrc : img.src; //To the closest parent with bgFromSrcSet class, //set the final src as a background-image CSS $currImg.closest('.bgFromSrcSet').css('background-image', "url('"+src+"')"); //remove processed image from the jQuery set //(to update $srcSets.length that is checked in the loadChecker) $srcSets = $srcSets.not($currImg); $currImg.remove(); //remove the <img ...> itself }) ; }); //window's load event is called even on following loads... $window.load(function(){ //prepare the checker var loadChecker = setInterval(function(){ if( $srcSets.length > 0 ) //if there is still work to do... $srcSets.load(); //...do it! else clearInterval(loadChecker); //if there is nothing to do - stop the checker }, 150); }); }); HTML ...可能看起来像这样: <div class="bgFromSrcSet"> <img class="srcSet" alt="" src="http://example.com/something.jpeg" srcset="http://example.com/something.jpeg 5760w, http://example.com/something-300x200.jpeg 300w, http://example.com/something-768x512.jpeg 768w, http://example.com/something-1024x683.jpeg 1024w, http://example.com/something-1000x667.jpeg 1000w" sizes="(max-width: 2000px) 100vw, 2000px" > Something else... </div> 注意:类bgFromSrcSet必须不设置为img本身!只能设置为 img DOM 父树中的元素。 我使用了名为 bg-set 的 Lazysizes 插件来添加对背景图像的响应能力。它的工作原理与 srcset 类似,并根据设备宽度提供一组多个背景图像。 <div class="lazyload" data-bgset="image-200.jpg 200w, image-300.jpg 300w, image-400.jpg 400w" data-sizes="auto"> data-bgset 中的图像是相同的,我们只是提供浏览器可以选择的宽度指定图像。

回答 10 投票 0

如何查询容器是否高于视口?

我正在尝试容器查询并试图更好地理解它们。 我想要实现的一个想法是,当容器扩展视口时,或者在其他情况下,采用特定的样式......

css
回答 1 投票 0

移动 Safari、CSS 动画在导航上冻结

所以我正在为客户开发一个移动网站,并添加了一个 css 加载动画,该动画在用户导航页面或 ajax 加载时触发。 动画在 Chrome 中运行良好,但在 IOS 中我...

回答 3 投票 0

需要帮助在 CSS 中将按钮居中

我正在努力使下载按钮正确。我希望它位于中心。但每次我最终都会把它放在奇怪的位置。 .PDF-下载 { 显示:块; 边框颜色: rgb(218, 251, 3...

回答 1 投票 0

Javascript 运行时剪辑路径更改

我能够在运行时更改元素的clipPath属性。 但我无法使用计时器中递增的变量来更改属性值。 如何将x的值分配给这两个

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.