以CSS为中心:一个完整的指南

把事情集中在CSS中是CSS抱怨的典型代表。为什么要这么难?他们嘲笑。我认为问题不在于它很难做到,而是因为有很多不同的方法可以做到这一点,这取决于具体情况,很难知道要达到哪一个目标。 所以让我们把它变成一个决策树,希望能让它变得更容易。 我需要集中在…横向是它是内联的还是内联的-*元素(比如文本或链接)? 您可以在块级父元素中水平居中放置内联元素,只需使用: .center {text-align: center;}CodePen Embed Fallback 这适用于inline、inline block、inline table、inline flex等。它是块级元素吗? 你可以给一个块级元素指定auto的margin-left和margin-right(并且它有一个集合width,否则它是全宽的,不需要居中)。这通常是用这样的速记法来完成的: .center-me {margin: 0 auto;}CodePen Embed Fallback 无论您居中的块级元素或父元素的宽度是多少,这都将起作用。 请注意,您不能将一个元素float移到中心。但是有一个技巧。是否有多个块级元素? 如果您有两个或两个以上的块级元素需要水平居中排成一行,则最好将它们设置为不同的display类型。下面是一个制作它们的例子inline-block和一个flexbox的例子:CodePen Embed Fallback 除非您的意思是有多个块级元素堆叠在一起,在这种情况下,自动边距技术仍然很好:CodePen Embed FallbackVertically 在CSS中,垂直居中比较棘手。 是内联还是内联-*元素(如文本或链接)?是单行线吗? 有时内联/文本元素可以垂直居中显示,只是因为它们上面和下面的填充相等。 .link {padding-top: 30px;padding-bottom: 30px;}CodePen Embed Fallback 如果由于某种原因不能选择填充,并且您试图将一些您知道不会换行的文本居中,则有一个窍门是使line-height等于将center文本的高度。 .center-text-trick {height: 100px;line-height: 100px;white-space: nowrap;}CodePen嵌入回退是否有多行?顶部和底部的等距填充也可以为多行文本提供居中效果,但如果这行不通,则文本所在的元素可能是一个表单元格,无论是字面上的还是使用CSS时的行为。在本例中,vertical-align属性处理这一点,与它通常处理行上对齐的元素的对齐不同。(更多信息。) CodePen-Embed-Fallback 如果出现了类似于表的内容,也许您可以使用flexbox?一个flex子级可以很容易地在flex父级中居中。 .flex-center-vertically {display: flex;justify-content: center;flex-direction: column;height: 400px;}CodePen Embed Fallback 请记住,只有父容器具有固定高度(px,%等)时,它才是真正相关的,这就是为什么这里的容器具有高度的原因。 如果这两种技术都不适用,您可以使用\"ghost元素\"技术,其中一个全高伪元素被放置在容器内,文本与之垂直对齐。 .ghost-center {position: relative;}.ghost-center::before {content: \" \";display: inline-block;height: 100%;width: 1%;vertical-align: middle;}.ghost-center p {display: inline-block;vertical-align: middle;}CodePen嵌入回退它是块级元素吗?您知道元素的高度吗? 不知道网页布局的高度是很常见的,原因很多:如果宽度改变,文本回流会改变高度。文本样式的变化可以改变高度。文本量的变化会改变高度。具有固定纵横比的元素(如图像)可以在调整大小时更改高度。等等,但是如果你知道高度,你可以居中垂直方向如下: ***16***CodePen嵌入回退元素的高度未知吗? 在半路颠簸后,仍然可以通过向上推它的一半高度来居中: ***17***CodePen Embed Fallback您关心元素是否会拉伸容器的高度吗? 如果您不这样做,您只需要将内容垂直居中,使用tables或CSS display将元素放入表中就可以了//codepen.io/anon/embed/RmeWvQ?height=450&;theme id=1&;slug hash=>CodePen嵌入回退您可以使用flexbox吗? 没什么好惊讶的,这在flexbox中要简单得多。 ***18***CodePen Embed Fallback 您还可以使用子元素上的***19***在flexbox中居中。水平和;垂直方向 您可以以任何方式组合上述技术,以获得完全居中的元素。但我发现这通常分为三个阵营:是固定宽度和高度的元素吗? 使用等于该宽度和高度一半的负边距,在您将其绝对定位为50%/50%后,它将以强大的跨浏览器支持居中: ***20***CodePen Embed Fallback元素的宽度和高度未知吗? 如果您不知道宽度或高度,可以使用transform属性和两个方向50%的负平移(基于元素的当前宽度/高度)来居中: ***21***CodePen嵌入回退您可以使用flexbox吗? 要使用flexbox在两个方向上居中,需要使用两个居中属性: ***22***CodePen嵌入回退您可以使用网格吗? 这只是一个小把戏(兰斯·杨森发来的),它对一个元素非常有用: ***23***CodePen Embed Fallbackdiv>details>details>

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1164

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1067

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:803

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:893

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:928

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:874

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:860

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:829

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1710

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1304